mysql - 截断所有表(其中大部分有约束)。如何暂时放下它们

标签 mysql mysql-management

我有一个开发数据库 (MYSQL),我想在某个时候加载新数据。我想删除所有表格的内容。 删除所有表(包括具有外键约束的表)内容的最佳方法是什么,尽可能自动化。是否存在截断所有/删除所有等效约束?

谢谢

最佳答案

我认为您可以执行以下操作:

  1. 关闭外键约束检查

    mysql> SET FOREIGN_KEY_CHECKS = 0;
    
  2. 截断你的表格

    mysql> TRUNCATE MY_TABLE;
    
  3. 启用外键约束检查

    mysql> SET FOREIGN_KEY_CHECKS = 1;
    

我更喜欢暂时禁用外键约束而不是删除/重新创建它们。

关于mysql - 截断所有表(其中大部分有约束)。如何暂时放下它们,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1499568/

相关文章:

mysql - 有人可以解释为什么这个左外连接会这样吗?

php - 在 Doctrine 的 QueryBuilder 中使用嵌套查询和多对多关系

java - mysql命令应该完成哪些流程,Java应该完成哪些流程?

mysql-management - 如何知道mysql中的内存消耗?

mysql - Linux Mysql 内存要求

mysql - drupal 模块中的 Sql 查询 - 什么是节点?

下一行的MySQL条件查询

mysql - 将数据分布在MySQL数据库的多个表中?

sql - 如何编写高效的 MySQL 查询以根据约束删除特定行

mysql表: index vs primary