日期:2014-05-16  浏览次数:20795 次

记录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?

?

?