我正在尝试使用迁移将外键拖放到现有表中,但是它会引发错误,例如“语法错误或访问冲突:1091无法删除DROP consultant_id:检查列/键是否存在”。你能帮忙吗?
cqcywyx 回答:无法在现有表上删除外键?
首先,您必须删除“外部约束”。
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;');