MySQL中在为一个varchar类型数据列添加外键时,会发生上面所示的错误,这里我google了一下,感觉它们碰到的问题跟我这个说的有点不相干,尝试了多种方式后来才发现是:主表(table1)所对应关联的数据列必须为unique才可以。
[sql] view plain copy
- #指定主表dept列unique约束
- alter table table1 modify dept varchar(5) not null unique.
这里我创建了两张表(table2、 table1),表结构如图所示:
为什么要增加unique约束?
这个问题我是在hibernate中指定一对一有连接表关联时无意中注意到的,没有unique约束一般都会失败。至于到底为什么看下面这张图应该就清楚了:
时间: 2024-10-10 17:03:10