【发布时间】:2020-04-04 11:09:03
【问题描述】:
我的迁移是
Schema::create('user_details', function (Blueprint $table) {
$table->Increments('id')->unique();
$table->text('detail');
$table->text('value');
$table->integer('user_id');
$table->timestamps();
$table->foreign('user_id')->references('id')->on('users');
});
和
Schema::create('users', function (Blueprint $table) {
$table->Increments('id')->unique();
$table->integer('user_detail_id');
$table->integer('user_setting_id');
$table->integer('company_id');
$table->mediumText('role');
$table->mediumText('email')->unique();
$table->mediumText('password');
$table->timestamps();
});
当我尝试迁移时,我收到以下错误消息:
errno: 150 "外键约束格式不正确" (SQL: alter 表
user_details添加约束user_details_user_id_foreign外键(user_id)引用users(id))
为什么会这样?
【问题讨论】:
-
字段类型必须完全匹配...
increments创建一个无符号整数,您只创建一个整数字段(user_id),也需要无符号...并假设users迁移在user_details之前
标签: php mysql laravel database-migration