【发布时间】:2020-03-06 20:59:23
【问题描述】:
我正在尝试使用迁移将外键删除到现有表,但它会引发错误,如“语法错误或访问冲突:1091 cant DROP advisor_id:检查列/键是否存在”。你能帮忙吗?
【问题讨论】:
-
显示您的表架构和尝试删除外键的代码。
标签: laravel foreign-keys migration
我正在尝试使用迁移将外键删除到现有表,但它会引发错误,如“语法错误或访问冲突:1091 cant DROP advisor_id:检查列/键是否存在”。你能帮忙吗?
【问题讨论】:
标签: laravel foreign-keys migration
首先,你必须放弃外部约束。
public function up() {
Schema::table('table_name', function (Blueprint $table) {
$table->dropForeign('table_name_consultant_id_foreign');
$table->dropColumn('consultant_id');
});
}
【讨论】:
在删除表之前禁用外键检查,然后启用它们
DB::statement('SET FOREIGN_KEY_CHECKS=0;');
Schema::dropIfExists('your_choice_table');
DB::statement('SET FOREIGN_KEY_CHECKS=1;');
【讨论】: