我想做的是将users_table
列id
中的外键放入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`))
答案 0 :(得分:1)
根据docs
对于支持外键的存储引擎,MySQL拒绝任何INSERT 或UPDATE操作,尝试在其中创建外键值 如果子表中没有匹配的候选键值 父表。
您看到的错误表明您正在尝试向子表中添加新行,而其父表中存在与其匹配的行。要解决此问题,您可以在子表中插入行之前在父表中添加行,或者删除NOT NULL约束(如果有),然后在相应的列中插入NULL值。完成后,您将能够添加外键约束。
答案 1 :(得分:0)
您的错误表明 您要插入外键的值在父表中不存在。 因此在将外部值插入子表之前,请确保您的值在父表中