大数据库批量删除表遇到有外键的表怎么办?

场景:

         公司数据库10G+,想快速删除数据库,释放空间;

 

 

大数据库批量删除表遇到有外键的表怎么办?

大数据库批量删除表遇到有外键的表怎么办?

大数据库批量删除表遇到有外键的表怎么办?

若遇到有外键的表会出现:

大数据库批量删除表遇到有外键的表怎么办?

按照这个格式走可以解决问题:

 

1、自动生成所有的DROP语句,将其中的MyDatabaseName替换成你的数据库名称:

SELECT concat('DROP TABLE IF EXISTS ', table_name, ';')

FROM information_schema.tables

WHERE table_schema = 'MyDatabaseName'; 

 

2、然后,在生成的代码前后添加下面设置FOREIGN_KEY_CHECKS变量的语句:

SET FOREIGN_KEY_CHECKS = 0

-- DROP语句

DROP TABLE IF EXISTS t_upload_assist_check;

DROP TABLE IF EXISTS t_upload_preassist_check;

DROP TABLE IF EXISTS t_user_device;

DROP TABLE IF EXISTS temp_assist_repl;

。。。。。。。

SET FOREIGN_KEY_CHECKS = 1;