我正在使用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_2
(id
))
另外,我没有表'#sql-73_ca'
答案 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');
}
}