rix*_*rix 2 mysql innodb foreign-keys
使用默认引擎(MyIsam),我可以使用以下语法创建外键:
alter table `codes` add constraint foreign key(`associated_code_id`) references ask_codes(code_id) on update cascade on delete cascade;
Run Code Online (Sandbox Code Playgroud)
但是,当我使用INNODB创建表时,我不再能够创建外键(mysql给我ERROR 1005(HY000):无法创建表'my_table.#sql-3311_16115'(错误号:150)).
这是语法问题吗?谢谢您的帮助,
问题是两列的类型不同 - 它们不完全匹配:
如果重新创建已删除的表,则它必须具有符合引用它的外键约束的定义.它必须具有正确的列名和类型,并且必须在引用的键上具有索引,如前所述.如果不满足这些,MySQL将返回错误号1005并在错误消息中引用错误150.