我有自定义迁移:
代码:
// Groups migration
Schema::create('groups', function (Blueprint $table) {
$table->bigIncrements('id');
$table->string('name');
$table->boolean('status')->default(false);
$table->timestamps();
});
// Clients migration
Schema::create('clients', function (Blueprint $table) {
$table->bigIncrements('id');
$table->string('fullname');
$table->integer('phone');
$table->date('birthday')->nullable();
$table->boolean('can_get_congratulations')->default(false);
$table->unsignedInteger('group_id')->default(null);
$table->foreign('group_id')
->references('id')
->on('groups')
->onDelete('cascade');
$table->boolean('status')->default(true);
$table->timestamps();
});
当我运行此迁移文件时收到错误消息:
Illuminate\Database\QueryException : SQLSTATE[HY000]: General error: 1005 Can't create table
taxisms
.#sql-1cc0_65c
(errno: 150 "Foreign key constraint is incorrectly formed") (SQL: alter tableclients
add constraintclients_group_id_foreign
foreign key (group_id
) referencesgroups
(id
) on delete cascade)
我的迁移代码哪里有错误?
最佳答案
该列两侧都需要匹配。由于groups.id
是一个无符号大整数,group_id也需要如此。改变
$table->unsignedInteger('group_id')
到
$table->unsignedBigInteger('group_id')
关于php - Laravel 6-MariaDB 10.1 : Illuminate\Database\QueryException : SQLSTATE[HY000] migration error,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59076820/