记录mysql创建表异常一则

记录mysql创建表错误一则

场景:

 

表A结构如下:

 

id(主键)

col1

col2

clo3


表B:

 

id 

a_col1 (外键,引用表A的col1)

....

 

创建表A后,创建B,报错:

 

[Err] 1005 - Can't create table 'test.B' (errno: 150)

 

原因如下:

表B的a_col1列外键是A.col1,那就要去表A的col1列必须设置为主键或者Unique约束。否则B.a_col1不知道引用的是哪个外键对象。

 

--end