我有一个开发数据库(MYSQL),我想在某些时候加载新数据.我想删除所有表的内容.删除所有表(包括具有外键约束的表)的内容的最佳方法是尽可能自动化.是否有截断全部/丢弃所有等效约束?
谢谢
Pas*_*ent 29
我想你可以做到以下几点:
禁用外键约束检查
mysql> SET FOREIGN_KEY_CHECKS = 0;
Run Code Online (Sandbox Code Playgroud)截断你的表格
mysql> TRUNCATE MY_TABLE;
Run Code Online (Sandbox Code Playgroud)启用外键约束检查
mysql> SET FOREIGN_KEY_CHECKS = 1;
Run Code Online (Sandbox Code Playgroud)我更喜欢暂时禁用外键约束来删除/重新创建它们.
如果您想要更好地截断所有表,我认为删除并使用之前提取的数据库模式创建数据库。或者您可以使用同一数据库的两个副本 - 测试和空。填充表后,只需删除测试数据库并将空复制到测试即可。