0

这是我尝试连接两个表的 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,因为我一直在使用工具。

4

2 回答 2

1

这是关系冲突。一个更容易解决的方法是

  • 删除字段之间的关系
  • 更改表格
  • 再次添加关系时,修复您收到的错误。
于 2012-04-22T11:35:56.223 回答
1

您的外键约束失败。

您尝试创建的外键强制 my_contacts 中的每个职业 ID 出现在您的职业表中。现在,情况并非如此。您应该在 my_contacts 中查找所有职业中没有职业 ID 的记录并首先修复这些记录。

于 2012-04-22T11:39:30.203 回答