2016-01-04 99 views
0

我有一个新项目正在运行,其中有两个表groupsmembers。当时他们都是空的,并且会员表group_id上有一个前兆的关键限制。空表中的外键约束失败

现在,我首先创建一个群组以后可能有很多成员,但是,当我尝试创建它开始,我收到以下消息:

SQLSTATE[23000]: Integrity constraint violation: 1452 Cannot add or update a child row: a foreign key constraint fails (`cogro`.`groups`, CONSTRAINT `groups_ibfk_1` FOREIGN KEY (`id`) REFERENCES `members` (`group_id`) ON DELETE NO ACTION ON UPDATE NO ACTION) 

任何帮助或指导是非常赞赏。

+2

你的外键引用'members'这是父表。为了在'groups'表中插入一个值,它首先必须存在于相应列的members表中。 – Mihai

回答

2

您输入了错误的外键方向。目前groups.id引用members.group_id(为了在groupsid = 1一个条目,你应该在membersgroup_id = 1条目)

更改确定指标到:

CONSTRAINT `members_group_id_fk` FOREIGN KEY (`group_id`) REFERENCES `groups` (`id`)