Dit zou moeten werken:
SET FOREIGN_KEY_CHECKS=0; DROP TABLE bericht; SET FOREIGN_KEY_CHECKS=1;
Zoals anderen al aangeven, is dit bijna nooit wat je wilt, ook al wordt het gevraagd in de vraag. Een veiligere oplossing is om de tabellen te verwijderen afhankelijk van bericht
voor het verwijderen van bericht
. Zie CloudyMarble-antwoord over hoe dat te doen. Ik gebruik bash en de methode in mijn bericht om alle tabellen in een database te laten vallen wanneer ik de database zelf niet wil of kan verwijderen en opnieuw kan maken.
De #1217
er treedt een fout op wanneer andere tabellen externe sleutelbeperkingen hebben voor de tabel die u probeert te verwijderen en u de InnoDB-database-engine gebruikt. Met deze oplossing wordt het controleren van de beperkingen tijdelijk uitgeschakeld en vervolgens weer ingeschakeld. Lees de documentatie
voor meer. Zorg ervoor dat u beperkingen en velden voor buitenlandse sleutels in tabellen verwijdert, afhankelijk van het bericht
, anders zou u uw database in een kapotte staat kunnen achterlaten.