首页 > 解决方案 > 需要一些关于外键约束的解释

问题描述

我正在使用 symfony 4,当我在表之间进行链接时,会创建索引。我不明白它们是如何工作的。

在此处输入图像描述

他们的目的是什么,为什么无法将数据文件导入这些文件。即使有约束(不破坏索引),是否可以“绕过”这个 mysql 限制并将数据文件导入 mysql?

谢谢

标签: mysqlsymfony

解决方案


外键将检查另一个表是否已经包含您尝试输入的元素。

暂时可以为导入做些什么

使用 FOREIGN_KEY_CHECKS

导入运行前

SET FOREIGN_KEY_CHECKS=0;

当它完成时

SET FOREIGN_KEY_CHECKS=1;

或者

使用禁用键:

ALTER TABLE table_name DISABLE KEYS;

当导入完成时:

ALTER TABLE table_name ENABLE KEYS;

当然你必须改变 table_name


推荐阅读