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

问题描述 投票:0回答:2

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

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

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

php mysql laravel
2个回答
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)"

它将显示更多错误信息


0
投票

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

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

 try { //codes
} catch(\Illuminate\Database\QueryException $e){
            $errorCode = $e->errorInfo[1];
            if($errorCode == '1062'){
                echo('Error Message');
            }
        }
© www.soinside.com 2019 - 2024. All rights reserved.