Намерих генерирания набор от изрази за отпадане за полезен и препоръчвам тези настройки:
- Ограничете генерираните капки до вашата база данни по следния начин:
SELECT concat('DROP TABLE IF EXISTS `', table_name, '`;')
FROM information_schema.tables
WHERE table_schema = 'MyDatabaseName';
Забележка 1:Това не изпълнява операторите DROP, а само ви дава списък с тях. Ще трябва да изрежете и поставите изхода във вашия SQL двигател, за да ги изпълните.
Забележка 2:Ако имате VIEW_NAME, ще трябва да коригирате всеки DROP TABLE `VIEW_NAME`
изявление към DROP VIEW `VIEW_NAME`
ръчно.
- Забележка, според http://dev.mysql .com/doc/refman/5.5/en/drop-table.html , отпадането с каскада е безсмислено / подвеждащо:
Следователно, за да работят операторите drop, ако имате нужда от:
SET FOREIGN_KEY_CHECKS = 0
Това ще деактивира проверките за референтна цялост - така че когато приключите с извършването на нужните отклонения, ще искате да нулирате проверката на ключ с
SET FOREIGN_KEY_CHECKS = 1
- Окончателното изпълнение трябва да изглежда така:
SET FOREIGN_KEY_CHECKS = 0;
-- Your semicolon separated list of DROP statements here
SET FOREIGN_KEY_CHECKS = 1;
NB:за да използвате по-лесно изхода на SELECT, опцията mysql -B може да помогне.