ERROR 1215 (HY000): Cannot add foreign key constraint

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ERROR 1215 (HY000): Cannot add foreign key constraint相关的知识,希望对你有一定的参考价值。

MySQL中在为一个varchar类型数据列添加外键时,会发生上面所示的错误,这里我google了一下,感觉它们碰到的问题跟我这个说的有点不相干,尝试了多种方式后来才发现是:主表(table1)所对应关联的数据列必须为unique才可以

  1. #指定主表dept列unique约束  
  2. alter table table1 modify dept varchar(5) not null unique.  

这里我创建了两张表(table2、 table1),表结构如图所示:

技术分享

为什么要增加unique约束?

这个问题我是在hibernate中指定一对一有连接表关联时无意中注意到的,没有unique约束一般都会失败。至于到底为什么看下面这张图应该就清楚了:

技术分享





以上是关于ERROR 1215 (HY000): Cannot add foreign key constraint的主要内容,如果未能解决你的问题,请参考以下文章

mysql ERROR 1215 (HY000): Cannot add foreign key constraint

ERROR 1215 (HY000): Cannot add foreign key constraint

mysql执行带外键的sql文件时出现mysql ERROR 1215 (HY000): Cannot add foreign key constraint的解决

我无法将我的 SQL 表从 Adminer 导入 MySQL Workbench 而不会出现错误:第 9 行的错误 1215 (HY000):无法添加外键约束

MySQL 错误 [1215] [HY000] - 无法添加外键 [重复]

SQLSTATE[HY000]:一般错误:1215 无法添加外键约束 [Laravel 7.0]