【发布时间】:2021-08-01 14:39:59
【问题描述】:
我有一个包含大约 50 个表的数据库,总共有数据,但我想删除这些记录,这样数据库就像新的一样,有没有办法做到这一点,或者有没有办法在没有数据的情况下提取表?
【问题讨论】:
-
禁用外键检查。使用相应的 DELETE 语句截断所有表(迭代 INFORMATION_SCHEMA.TABLES,使用动态 SQL)。启用外键检查。
-
另一个选项:仅备份指定结构的数据库(例如,通过带有 --no-data 选项的 mysqldump ),还备份过程/函数/触发器,删除数据库,从备份中恢复空数据库。