【发布时间】:2016-02-01 18:56:43
【问题描述】:
我有下一个表“对话”:
现在我想添加下一个 fk:
alter table dialogs add constraint dias_fk foreign key(Receiver) references users (Surname);
但出现错误:
错误代码:1215。无法添加外键约束
用户表:
我知道,我只能使用“users”和“dialogs”表中的主键列创建 fk,但我有 auto_increment 列,它必须是 pk。我无法在代码中创建两个原色,但是使用工作台实用程序更改表,看起来我已经创建了两个原色而没有错误。
我该如何解决这个问题?
【问题讨论】:
-
作为父表(如果您愿意的话)的表需要列上的索引。它甚至可以位于复合索引的最左侧。
-
@Drew 好的,我已经创建了索引:clip2net.com/s/3pHzALR,接下来我必须做什么?
-
好吧,您需要确保引用的表中包含支持 FK 创建的数据。毕竟,您是说数据必须存在。所以没有它,它是一个非首发。并查看字符集问题。
-
不要忘记支持、反对、接受适当的答案。甚至诸如“这是垃圾,毫无意义”之类的反馈。我们使用这些反馈,并为我们帮助下一个人而欢呼,不管它是什么。
标签: mysql sql foreign-keys mysql-workbench