这是我尝试连接两个表的alter语句:
ALTER TABLE my_contacts
CHANGE `profession` `profession_id` INT NOT NULL,
ADD CONSTRAINT professions_profession_id_fk
FOREIGN KEY (profession_id) REFERENCES professions (profession_id)
我有以下错误:
#1452 - Cannot add or update a child row: a foreign key constraint fails (`contacts`.<result 2 when explaining filename '#sql-1ca_73'>, CONSTRAINT `professions_profession_id_fk` FOREIGN KEY (`profession_id`) REFERENCES `professions` (`profession_id`))
任何人都可以指导我这是什么?我实际上是在学习如何编写sql,因为我一直使用工具。
答案 0 :(得分:1)
这是一种关系冲突。更容易解决这个问题
答案 1 :(得分:1)
您的外键约束失败。
您尝试创建的外键强制my_contacts中的每个profession_id都出现在您的职业表中。现在,情况并非如此。您应该在my_contacts中查找职业中不存在profession_id的所有记录,并首先修复这些记录。