无法将外键约束添加到我的表中

时间:2019-08-15 01:29:11

标签: mysql sql

我正在尝试设置FK,但出现错误

我的数据类型与参考表相同。我的艺术家表包含所有名称,并且为艺术家图像创建了另一个表。 表格:

enter image description here

files
  

#1215-无法添加外键约束

是因为Artist不是Artists表中的PK并且不能用作PK?关于如何链接表的其他建议?

1 个答案:

答案 0 :(得分:0)

当数据存在时无法创建外键的最常见原因之一是,您要向其添加键的表中的列具有所引用表中不存在的值。

在这种情况下,您可以通过运行以下查询进行检查:

   SELECT i.Image, i.Artist FROM Artist_Images i
      LEFT JOIN Artists a on i.Artist = a.Artist
      WHERE a.Artist IS NULL

如果有任何行,则需要先解决该问题,然后才能创建外键。