好吧,我被困住了。似乎很简单,我也看到其他人也遇到了问题。我正在使用最新版本5.8.x。我创建表没有问题,但是当我从一个新的数据库开始并添加外键时出现错误-
Illuminate \ Database \ QueryException:SQLSTATE [HY000]:常规错误: 1005无法创建表
apbase
。#sql-546_1a14
(错误号:150“ Foreign 键约束的格式不正确”)(SQL:更改表apconfig
添加约束apconfig_apevent_id_foreign
外键 (apevent_id
个引用apevents
(id
))
我已重命名了迁移文件,因此任何带有外键的硝化都将在参考表之后迁移。迁移文件是使用artisan创建的。
Schema::create('apevents', function(Blueprint $table)
{
$table->bigIncrements('id');
$table->string('name', 200);
$table->timestamps();
});
Schema::create('apconfig', function(Blueprint $table)
{
$table->bigIncrements('id');
$table->bigInteger('apevent_id');
$table->foreign('apevent_id')->references('id')->on('apevents');
$table->string('name', 200);
$table->timestamps();
});
答案 0 :(得分:2)
您在apevent_id
表中的apconfig
应该是
$table->unsignedBigInteger('apevent_id');