Vygenerovaná sada příkazů drop mi byla užitečná a doporučuji tyto úpravy:
- Omezte generované poklesy na vaši databázi takto:
SELECT concat('DROP TABLE IF EXISTS `', table_name, '`;')
FROM information_schema.tables
WHERE table_schema = 'MyDatabaseName';
Poznámka 1:Toto neprovede příkazy DROP, pouze zobrazí jejich seznam. Budete muset vyjmout a vložit výstup do vašeho SQL motoru, abyste je mohli spustit.
Poznámka 2:Pokud máte ZOBRAZENÍ, budete muset opravit každý DROP TABLE `VIEW_NAME`
příkazu DROP VIEW `VIEW_NAME`
ručně.
- Poznámka pro http://dev.mysql .com/doc/refman/5.5/en/drop-table.html , dropování pomocí kaskády je zbytečné / zavádějící:
Proto, aby příkazy drop fungovaly, pokud potřebujete:
SET FOREIGN_KEY_CHECKS = 0
Tím se deaktivují kontroly referenční integrity – takže až provedete potřebné poklesy, budete chtít resetovat kontrolu klíče pomocí
SET FOREIGN_KEY_CHECKS = 1
- Konečné provedení by mělo vypadat takto:
SET FOREIGN_KEY_CHECKS = 0;
-- Your semicolon separated list of DROP statements here
SET FOREIGN_KEY_CHECKS = 1;
Poznámka:pro snazší použití výstupu SELECT může pomoci volba mysql -B.