使用外键创建表时的Laravel迁移错误

时间:2018-01-04 10:10:31

标签: php mysql laravel

我正在使用laravel的artisan命令来创建带有外键的数据库表。运行php artisan migrate命令时出现以下错误:

  

SQLSTATE [23000]:完整性约束违规:1022无法写入;   表'#sql-73_ca'中的重复键(SQL:alter table table_1 add   约束table_1_table_1_sid_foreign外键
  (table_1_sid)引用table_2id))

另外,我没有表'#sql-73_ca'

2 个答案:

答案 0 :(得分:2)

如果您使用phpmyadmin,您应该将一段错误通知复制到phpmyadmin中的查询sql:

" alter table table_1 add constraint table_1_table_1_sid_foreign 
foreign key (table_1_sid) references table_2 (id)"

它将显示更多错误信息

答案 1 :(得分:0)

它的迁移文件中的unique()命令。 如果你不想得到错误,你应该删除它。 或者如果有唯一列则添加函数。 您应该共享您的迁移。我们无法理解这一点。

你也可以在相关的控制器中试试这个。

 try { //codes
} catch(\Illuminate\Database\QueryException $e){
            $errorCode = $e->errorInfo[1];
            if($errorCode == '1062'){
                echo('Error Message');
            }
        }