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:

1-“数据类型”。Type(INT,SMALLINT)属性作为Size属性
2-“接受空值”。
3-“未签名”。

  • 请记住,MyISAM表引擎不接受FK约束,InnoDB才接受

祝你好运。

我会试试的。但“接受空值”仅适用于FK,对吗?不是PK,对吧?我给每个PK和FK都加了一个“unsigend”,并且都共享相同的数据类型。Accept Null仅适用于FK。但这对我来说不起作用那桌子引擎呢?记住,MyISAM不接受FK约束,只有InnoDB接受。是的,我正在使用InnoDBI尝试设置新表。删除所有3个并使其成为新的。同样的错误