Heim > Datenbank > MySQL-Tutorial > MySQL-Fehler 1452: Wie behebt man Verstöße gegen Fremdschlüsseleinschränkungen?

MySQL-Fehler 1452: Wie behebt man Verstöße gegen Fremdschlüsseleinschränkungen?

Patricia Arquette
Freigeben: 2024-12-28 02:11:10
Original
505 Leute haben es durchsucht

MySQL Error 1452: How to Resolve Foreign Key Constraint Violations?

Verletzung der MySQL-Fremdschlüsseleinschränkung: Fehler 1452

Beim Versuch, eine Fremdschlüsseleinschränkung zwischen zwei Tabellen einzurichten, kann der Fehler „ MySQL-Fehler 1452 – Eine untergeordnete Zeile kann nicht hinzugefügt oder aktualisiert werden: Eine Fremdschlüsseleinschränkung schlägt fehl.“ Dieser Fehler deutet darauf hin, dass eine Inkonsistenz zwischen den referenzierten und referenzierenden Tabellen besteht.

Die Untersuchung der CREATE TABLE-Anweisungen für beide Tabellen zeigt Folgendes:

  • QuellcodesTabelle: Enthält Fremdschlüsseleinschränkungen, die auf mehrere andere Tabellen verweisen (Sprachen, Benutzer, Kategorien).
  • sourcecodes_tags Tabelle: Enthält eine Fremdschlüsseleinschränkung, die auf die Quellcodetabelle verweist.

Der Fehler tritt insbesondere auf, wenn versucht wird, eine Fremdschlüsseleinschränkung hinzuzufügen sourcecodes_tags zu sourcecodes.

Um diesen Fehler zu beheben, ist es wahrscheinlich, dass die Tabelle „sourcecodes_tags“ Werte für enthält sourcecode_id, die nicht mehr in der Tabelle „sourcecodes“ vorhanden sind.

Um diese inkonsistenten Werte zu identifizieren, führen Sie die folgende Abfrage aus:

SELECT DISTINCT sourcecode_id FROM 
   sourcecodes_tags tags LEFT JOIN sourcecodes sc ON tags.sourcecode_id=sc.id 
WHERE sc.id IS NULL;
Nach dem Login kopieren

Diese Abfrage gibt eine Liste von sourcecode_id-Werten aus sourcecodes_tags zurück, die nicht vorhanden sind entsprechen allen gültigen Einträgen in Quellcodes. Durch Entfernen dieser inkonsistenten Werte aus sourcecodes_tags kann die Fremdschlüsseleinschränkung erfolgreich eingerichtet werden.

Das obige ist der detaillierte Inhalt vonMySQL-Fehler 1452: Wie behebt man Verstöße gegen Fremdschlüsseleinschränkungen?. 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