3730: Cannot drop table referenced by a foreign key constraint (von Foreign Key referenzierte Tabelle kann nicht gelöscht werden)
MySQLWas bedeutet das?
Die Tabelle kann nicht gelöscht werden, weil der Foreign Key einer anderen Tabelle auf sie verweist. Solange die Referenz besteht, ist DROP blockiert.
Ursache
Versuch, eine Elterntabelle zu löschen, während per FK verknüpfte Kindtabellen noch existieren; die Abhängigkeitsreihenfolge wird nicht eingehalten; die Foreign Keys werden nicht zuerst entfernt.
Lösung
Entferne zuerst den verweisenden Foreign Key: ALTER TABLE child_table DROP FOREIGN KEY fk_name; dann lösche die Tabelle. Abhängige Tabellen/Constraints finden: SELECT * FROM information_schema.KEY_COLUMN_USAGE WHERE REFERENCED_TABLE_NAME = 'my_table'; Bei Massenoperationen kann vorübergehend SET FOREIGN_KEY_CHECKS = 0; verwendet werden, aber sei vorsichtig und setze es danach wieder auf 1.
Weitere Einträge zu dieser Datenbank
- 1093You can't specify target table 'x' for update in FROM clause (Zieltabelle des Updates nicht in FROM-Klausel erlaubt)
- 1305PROCEDURE does not exist (Prozedur existiert nicht)
- 1227Access denied; you need (at least one of) the PRIVILEGE (Zugriff verweigert; Berechtigung erforderlich)
- 2013Lost connection to MySQL server during query (Verbindung zum MySQL-Server während der Abfrage verloren)
- 1153Got a packet bigger than 'max_allowed_packet' bytes (Paket größer als max_allowed_packet)
- 1969MariaDB: Query execution was interrupted (max_statement_time exceeded) (Abfrageausführung unterbrochen)
- 1927MariaDB: ER_CONNECTION_KILLED: Connection was killed