sql >> Databasteknik >  >> RDS >> Mysql

Kan inte släppa tabell:En främmande nyckel-begränsning misslyckas

Detta borde göra susen:

SET FOREIGN_KEY_CHECKS=0; DROP TABLE bericht; SET FOREIGN_KEY_CHECKS=1;

Som andra påpekar är detta nästan aldrig vad du vill, även om det är vad som ställs i frågan. En säkrare lösning är att ta bort tabellerna beroende på bericht innan du raderar bericht . Se svaret från CloudyMarble om hur du gör det. Jag använder bash och metoden i mitt inlägg för att släppa alla tabeller i en databas när jag inte vill eller kan ta bort och återskapa själva databasen.

#1217 fel inträffar när andra tabeller har begränsningar för främmande nyckel för tabellen du försöker ta bort och du använder InnoDB-databasmotorn. Denna lösning inaktiverar tillfälligt kontroll av begränsningarna och aktiverar dem sedan igen. Läs dokumentationen för mer. Se till att ta bort främmande nyckelbegränsningar och fält i tabeller beroende på bericht , annars kan du lämna din databas i ett trasigt tillstånd.



  1. Android-rumsdatabasen exporterar inte all data

  2. Vad är prestandaskillnaden i implementeringar av MySQL relationsdelning (IN OCH istället för IN OR)?

  3. SQL Konsekutiva poster med antal

  4. Entity Framework Code First MaxLength och FixedLegth (char vs varchar)