PhpMyAdmin错误#1452-无法添加或更新子行:外键约束失败

时间:2018-10-25 05:32:07

标签: mysql phpmyadmin

我想做的是将users_tableid中的外键放入users_order列中的user_id表中,但是当我尝试这样做时会这样说。我做错了什么,或者有什么其他方法可以在PhpMyAdmin中向表添加外键?

#1452 - Cannot add or update a child row: a foreign key constraint fails (`users`.`#sql-4830_792`, CONSTRAINT `#sql-4830_792_ibfk_1` FOREIGN KEY (`id`) REFERENCES `user_order` (`user_id`))

Users

2 个答案:

答案 0 :(得分:1)

根据docs

  

对于支持外键的存储引擎,MySQL拒绝任何INSERT   或UPDATE操作,尝试在其中创建外键值   如果子表中没有匹配的候选键值   父表。

您看到的错误表明您正在尝试向子表中添加新行,而其父表中存在与其匹配的行。要解决此问题,您可以在子表中插入行之前在父表中添加行,或者删除NOT NULL约束(如果有),然后在相应的列中插入NULL值。完成后,您将能够添加外键约束。

答案 1 :(得分:0)

您的错误表明  您要插入外键的值在父表中不存在。 因此在将外部值插入子表之前,请确保您的值在父表中