首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在MySQL中强制截断数据库中的所有表(都是innodb)?

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

Stack Overflow用户
提问于 2011-04-06 17:46:27
回答 2查看 16.4K关注 0票数 15

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

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

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-04-06 18:03:40

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

代码语言:javascript
复制
SET FOREIGN_KEY_CHECKS = 0;
...DML statements
SET FOREIGN_KEY_CHECKS = 1; -- enable checking
票数 57
EN

Stack Overflow用户

发布于 2011-04-06 17:50:55

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

代码语言:javascript
复制
ALTER TABLE tablename DISABLE KEYS

然后执行您的业务,然后使用以下命令重新启用密钥:

代码语言:javascript
复制
ALTER TABLE tablename ENABLE KEYS

此技术用于MySQL转储。

票数 8
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5564407

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档