如何强制截断MySQL中数据库中的所有表(都是innodb)?

时间:2011-04-06 09:46:27

标签: mysql innodb

我想在尝试截断innodb表时遇到外键约束错误。使用MyISAM时,我没有遇到任何问题。

是否有一种简单的方法可以强制截断所有表格?或者我应该创建一个脚本来删除数据库,创建一个新的,然后从头开始创建表?

2 个答案:

答案 0 :(得分:54)

关于FK约束,您可以使用下一个语句禁用它们 -

SET FOREIGN_KEY_CHECKS = 0;
...DML statements
SET FOREIGN_KEY_CHECKS = 1; -- enable checking

答案 1 :(得分:8)

如果您在操作过程中遇到外键问题,可以:

ALTER TABLE tablename DISABLE KEYS

然后开展业务,然后重新启用密钥:

ALTER TABLE tablename ENABLE KEYS

此技术用于MySQL转储。