Heim > Datenbank > MySQL-Tutorial > Hauptteil

Warum erhalte ich beim Löschen von Tabellen in MySQL die Meldung „FEHLER 1217 (23000)... Fremdschlüsseleinschränkung schlägt fehl'?

Barbara Streisand
Freigeben: 2024-11-05 08:35:02
Original
306 Leute haben es durchsucht

Why Do I Get

MySQL: Fehler bei der Behandlung falscher Fremdschlüsseleinschränkungen

Es tritt der Fehler „ERROR 1217 (23000)... Fremdschlüsseleinschränkung schlägt fehl“ auf Der Versuch, eine MySQL-Tabelle zu löschen, obwohl scheinbar alle entsprechenden Fremdschlüsseleinschränkungen entfernt wurden, kann sein rätselhaft.

Um dieses Problem zu beheben, ziehen Sie die folgende Möglichkeit in Betracht:

Datenpersistenz aufgrund mehrerer Verbindungen

Bei Verwendung von Datenbankverwaltungstools wie MySQL Query Browser oder phpMyAdmin wird beobachtet, dass bei jeder Abfrage eine neue Verbindung aufgebaut wird. Dies bedeutet, dass die Datenbank möglicherweise immer noch Fremdschlüsselverweise enthält, die verwaist sind und in der aktuellen Verbindung nicht berücksichtigt werden, wenn Tabellen einzeln gelöscht werden.

Lösung: Konsolidierte Drop-Anweisungen

Um dieses Problem zu beheben, konsolidieren Sie alle Drop-Anweisungen in einer einzigen Abfrage. Zum Beispiel:

SET FOREIGN_KEY_CHECKS=0;
DROP TABLE my_first_table_to_drop;
DROP TABLE my_second_table_to_drop;
SET FOREIGN_KEY_CHECKS=1;
Nach dem Login kopieren

Durch die Gruppierung aller Drop-Anweisungen werden Fremdschlüsseleinschränkungen deaktiviert, während die Tabellen gelöscht werden. Die zusätzliche Anweisung SET FOREIGN_KEY_CHECKS=1 dient als zusätzliche Vorsichtsmaßnahme, um Fremdschlüsselprüfungen nach Abschluss des Vorgangs wieder zu aktivieren.

Das obige ist der detaillierte Inhalt vonWarum erhalte ich beim Löschen von Tabellen in MySQL die Meldung „FEHLER 1217 (23000)... Fremdschlüsseleinschränkung schlägt fehl'?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!