首页 > 代码库 > ERROR 1215 (HY000): Cannot add foreign key constraint

ERROR 1215 (HY000): Cannot add foreign key constraint

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

[sql] view plain copy
  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