Ik vond de gegenereerde set drop-statements nuttig en raad deze tweaks aan:
- Beperk de gegenereerde drops als volgt tot uw database:
SELECT concat('DROP TABLE IF EXISTS `', table_name, '`;')
FROM information_schema.tables
WHERE table_schema = 'MyDatabaseName';
Opmerking 1:Dit voert de DROP-instructies niet uit, het geeft u alleen een lijst ervan. U moet de uitvoer knippen en plakken in uw SQL-engine om ze uit te voeren.
Opmerking 2:Als je VIEW's hebt, moet je elke DROP TABLE `VIEW_NAME`
corrigeren statement naar DROP VIEW `VIEW_NAME`
handmatig.
- Opmerking, per http://dev.mysql .com/doc/refman/5.5/en/drop-table.html , laten vallen met cascade is zinloos / misleidend:
Daarom, om ervoor te zorgen dat de drop-statements werken als je het volgende nodig hebt:
SET FOREIGN_KEY_CHECKS = 0
Hiermee worden referentiële integriteitscontroles uitgeschakeld - dus wanneer u klaar bent met het uitvoeren van de drops die u nodig heeft, kunt u de toetscontrole resetten met
SET FOREIGN_KEY_CHECKS = 1
- De uiteindelijke uitvoering zou er als volgt uit moeten zien:
SET FOREIGN_KEY_CHECKS = 0;
-- Your semicolon separated list of DROP statements here
SET FOREIGN_KEY_CHECKS = 1;
NB:om de uitvoer van SELECT gemakkelijker te gebruiken, kan de optie mysql -B helpen.