Mysql SQL-无法添加或更新子行:外键约束失败-透视表
我正在尝试设置数据库并添加一些外键,但总是出现以下错误: 无法添加或更新子行:外键约束失败 我有三张桌子Mysql SQL-无法添加或更新子行:外键约束失败-透视表,mysql,database,foreign-keys,Mysql,Database,Foreign Keys,我正在尝试设置数据库并添加一些外键,但总是出现以下错误: 无法添加或更新子行:外键约束失败 我有三张桌子 groups, categories and categorie_group 分类组表是我的数据透视表。它只包含一个分类id和一个组id 两者都可以为空 组和类别具有ID作为主键 所有3个表都还没有任何数据 Groups Table: The ID references the categorie_group - group_id - on delete cascade on upda
groups, categories and categorie_group
分类组表是我的数据透视表。它只包含一个分类id和一个组id
两者都可以为空
组和类别具有ID作为主键
所有3个表都还没有任何数据
Groups Table:
The ID references the categorie_group - group_id
- on delete cascade on update cascade
Categorie_Group
the group_id of categorie_group references the id of the groups table
on delete no action on update no action
the categorie_id of categorie_group references the id of the categories
table on delete no action on update no action
-------
第一个问题:
如果我想将类别表
ID中的外键添加到categorie\u组
->categorie\u ID
-
我得到一份工作
ALTER TABLE `categories` ADD FOREIGN KEY ( `id` ) REFERENCES `DB`.`categorie_group` (
`categorie_id`
) ON DELETE CASCADE ON UPDATE CASCADE ;
MySQL meldet: Dokumentation
#1452 - Cannot add or update a child row: a foreign key constraint fails (`DB`.`#sql-c40_30a2caf`, CONSTRAINT `#sql-c40_30a2caf_ibfk_1` FOREIGN KEY (`id`) REFERENCES `categorie_group` (`categorie_id`) ON DELETE CASCADE ON UPDATE CASCADE)
第二个问题,如果我想向groups表添加数据,我会得到相同的错误
#1452 - Cannot add or update a child row: a foreign key constraint fails (`DB`.`group`, CONSTRAINT `group_ibfk_1` FOREIGN KEY (`id`) REFERENCES `categorie_group` (`group_id`) ON DELETE CASCADE ON UPDATE CASCADE)
- 您必须在子列“categorie_id”中实现FK,而不是在主键“id”上。PK“id”必须被引用,“categorie_id”必须进行引用
- 确保列属性属性是。两者(primaryKey和FK)必须相同。或者SGBD无法解决FK:
2-“接受空值”。
3-“未签名”。
- 请记住,MyISAM表引擎不接受FK约束,InnoDB才接受
祝你好运。我会试试的。但“接受空值”仅适用于FK,对吗?不是PK,对吧?我给每个PK和FK都加了一个“unsigend”,并且都共享相同的数据类型。Accept Null仅适用于FK。但这对我来说不起作用那桌子引擎呢?记住,MyISAM不接受FK约束,只有InnoDB接受。是的,我正在使用InnoDBI尝试设置新表。删除所有3个并使其成为新的。同样的错误