我需要将测试数据加载到表中,我想禁用每个可能的约束,我已经找到了如何全局关闭外键,但我需要禁用所有约束,PK,FK,CHK,UNIQ 等。是否可以在全球范围内进行?当然,在那之后我必须打开所有限制。
使用以下命令禁用约束:
-- disable UNIQ, PK, ...
ALTER TABLE <tablename> DISABLE KEYS;
-- diable FK
SET FOREIGN_KEY_CHECKS=0;
检查例如这个网站 http://www.sqlines.com/mysql/set_foreign_key_checks了解更多示例。恢复:
SET FOREIGN_KEY_CHECKS=1;
ALTER TABLE <tablename> ENABLE KEYS;
来自参考:
- 外键检查 http://dev.mysql.com/doc/refman/5.7/en/server-system-variables.html#sysvar_foreign_key_checks
- D禁用按键 http://dev.mysql.com/doc/refman/5.1/en/alter-table.html: “使用 ALTER TABLE ...DISABLE KEYS 告诉 MySQL 停止更新非唯一索引。...”
p.s.: from InnoDB 性能调优技巧 http://dev.mysql.com/doc/refman/5.0/en/innodb-tuning.html
SET autocommit=0;
SET unique_checks=0;
SET foreign_key_checks=0;
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)