Code Bye

mysql创建多个表的外键指向同一表的同一字段时,报错

看下面三个表的创建(大量字段省略,对此问题无影响)。
前两个表创建成功,但是当创建最后一个表时:[Err] 1005 – Can”t create table “company.tab_freeinfo” (errno: 121)
将最后一个表的typeId 不设为外键时,成功创建表。
两个表的外键不能指向同一个表的主键吗?
(高手们,不好意思,全部家当就25分!)
create table tab_infoType(
id int primary key,
name varchar(32) not null
)
create table tab_payInfo(
id int auto_increment primary key,
typeId int ,
constraint fk_typeid foreign key(typeId)
references tab_infoType (id)
)
create table tab_freeInfo(
id int auto_increment primary key,
typeId int ,
constraint fk_typeid foreign key(typeId)
references tab_infoType (id)
)
解决方案

25

贴出show create table tab_infoType  以供分析,确认存储引擎为innodb而不是myisam

CodeBye 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权 , 转载请注明mysql创建多个表的外键指向同一表的同一字段时,报错