尝试创建外键时在MySQL中出现错误1822

时间:2019-05-10 13:25:36

标签: mysql sql mysql-workbench

创建外键时出现错误。错误是1822,它表示以下内容:

  

错误代码:1822。无法添加外键约束。引用表“ Recipe”中约束“ Changes_ibfk_4”的缺少索引

我已经读过类似的问题,问题似乎是,我们需要在其上创建外键的列与所引用的列没有相同的数据类型。

但是,我不知道这两列之间有何不同。两者都是主键,名称相同,并键入varchar(255)。下面是MySQL代码。

两个“版本”列之间是否有区别?还是其他问题?

{{1}}

1 个答案:

答案 0 :(得分:0)

在引用表中,必须有一个索引,其中外键列以dev.mysql.com/doc/refman/5.6/en/create-table-foreign-keys的相同顺序列为第一列。在您的示例中html中,您在alter table的配方中没有这样的键更改添加外键(版本)引用Recipe(版本