【发布时间】:2015-05-23 20:25:06
【问题描述】:
我需要将测试数据加载到表中,并且我想禁用所有可能的约束,我已经找到了如何全局关闭外键,但我需要禁用所有约束,PK、FK、CHK、UNIQ 等。是有可能在全球范围内做到吗?当然,在那之后我必须调整所有约束。
【问题讨论】:
-
为什么你认为这会有用??
标签: mysql
我需要将测试数据加载到表中,并且我想禁用所有可能的约束,我已经找到了如何全局关闭外键,但我需要禁用所有约束,PK、FK、CHK、UNIQ 等。是有可能在全球范围内做到吗?当然,在那之后我必须调整所有约束。
【问题讨论】:
标签: mysql
使用以下方法禁用约束:
-- disable UNIQ, PK, ...
ALTER TABLE <tablename> DISABLE KEYS;
-- diable FK
SET FOREIGN_KEY_CHECKS=0;
查看this site 以获取更多示例。恢复:
SET FOREIGN_KEY_CHECKS=1;
ALTER TABLE <tablename> ENABLE KEYS;
来自参考:
附言:来自InnoDB performance tuning tips
SET autocommit=0;
SET unique_checks=0;
SET foreign_key_checks=0;
【讨论】: