gpt4 book ai didi

php - Laravel 5.1 外键迁移错误

转载 作者:行者123 更新时间:2023-11-29 02:18:09 25 4
gpt4 key购买 nike

我在执行约束迁移时遇到了这个奇怪的错误当我执行此迁移时,我得到

 [Illuminate\Database\QueryException]
SQLSTATE[HY000]: General error: 1005 Can't create table 'flowtime_dev.#sql-85bb_52' (errno: 121) (SQL: alter table `questions` add constraint questions_inventory_i
d_foreign foreign key (`inventory_id`) references `inventories` (`id`) on delete cascade)



[PDOException]
SQLSTATE[HY000]: General error: 1005 Can't create table 'flowtime_dev.#sql-85bb_52' (errno: 121)

我读到过不同表中的数据类型应该匹配(比如 int(10) 到 int(10)),它们确实匹配,这也是我进行的最后一次迁移(所有表都存在并已创建之前的其他迁移)。

我真的不知道该怎么做了:(。有人可以帮忙吗?我看过类似的帖子,但到目前为止他们还没有为我解决问题。

迁移如下:

public function up()
{
Schema::table('questions', function ($table) {
$table->integer('inventory_id')->unsigned()->change();
$table->foreign('inventory_id')
->references('id')->on('inventories')
->onDelete('cascade');
});

Schema::table('question_response', function ($table) {
$table->integer('question_id')->unsigned()->change();
$table->foreign('question_id')
->references('id')->on('questions')
->onDelete('cascade');
});

Schema::table('question_response', function ($table) {
$table->integer('sample_result_set_id')->unsigned()->change();
$table->foreign('sample_result_set_id')
->references('id')->on('sample_response_set')
->onDelete('cascade');
});

Schema::table('inventory_response', function ($table) {
$table->integer('inventory_id')->unsigned()->change();
$table->foreign('inventory_id')
->references('id')->on('inventories')
->onDelete('cascade');
});

Schema::table('inventory_response', function ($table) {
$table->integer('sample_result_set_id')->unsigned()->change();
$table->foreign('sample_result_set_id')
->references('id')->on('sample_response_set')
->onDelete('cascade');
});

}

最佳答案

在迁移开始时关闭外键约束。

SET FOREIGN_KEY_CHECKS=0;

然后,在迁移数据后,将它们重新打开。

SET FOREIGN_KEY_CHECKS=1;

如果这不起作用,请尝试添加以下行。

$table->engine = 'InnoDB'

Further, you can rename the constraint since the name may already be used...

$table->foreign('inventory_id', 'fk_questions_inventory_id')->...

关于php - Laravel 5.1 外键迁移错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36114732/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com