更改表格抛出错误#1005

时间:2015-10-10 04:38:13

标签: mysql laravel

我有两个不同的表格如下

apis
users

这里users表格有api_id作为外键。

现在正在执行以下查询,但这是一个棘手的错误 (声明api_id列引用id表上的apis列。)

alter table `users` add constraint users_api_id_foreign foreign key (`api_id`) references `apis` (`id`) on delete cascade on update cascade

错误#1005 - Can't create table 'xxxxx.#sql-54ef_229ff39' (errno: 150) (<a href="server_engines.php?engine=InnoDB&amp;page=Status&amp;token=50174b3c687a6edcb259e10dd65ca6d7">Details...</a>)

MySQL版本(开发服务器)

Server version: 5.5.42-37.1-log

在我的localhost中使用相同的查询

Server version: 5.5.44-0ubuntu0.14.04.1 - (Ubuntu)

如何修复此错误?提前谢谢。

Apis表

enter image description here

用户表

enter image description here

1 个答案:

答案 0 :(得分:1)

有时,如果您的表中已有数据,则会导致此问题。 在您的情况下,如果users表中有任何数据,则首先截断用户表,然后重试。