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

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

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

回答(2)

2 years ago

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

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

2 years ago

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

ALTER TABLE tablename DISABLE KEYS

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

ALTER TABLE tablename ENABLE KEYS

此技术用于MySQL转储 .