我正在尝试向“用户”添加外键。表。 这些是迁移的时间戳
这是代码:
Schema::create('types', function (Blueprint $table) {
$table->increments('id');
$table->string('types');
$table->timestamps();
});
Schema::create('users', function (Blueprint $table) {
//...
$table->integer('type')->length(10)->unsigned();
$table->foreign('type')->references('id')->on('types')->onDelete('cascade');
$table->rememberToken();
$table->timestamps();
});
我真的不知道自己做错了什么。
修改 以下是我收到的建议后发生的事情
答案 0 :(得分:3)
尝试在之后添加外键,即创建表格,即:
public function up()
{
Schema::create('users', function (Blueprint $table) {
//...
// $table->integer('type')->length(10)->unsigned();
$table->unsignedInteger('type');
$table->rememberToken();
$table->timestamps();
});
Schema::table('users', function (Blueprint $table) {
$table->foreign('type')->references('id')->on('types')->onDelete('cascade');
});
}
最好使用$table->unsignedInteger('type');
<强>更新强>
结论是type
是MYSQL中的一个保留字。