Heim > Datenbank > MySQL-Tutorial > Wie behebt man MySQL-Fremdschlüsseleinschränkungsfehler beim Hinzufügen eines Fremdschlüssels?

Wie behebt man MySQL-Fremdschlüsseleinschränkungsfehler beim Hinzufügen eines Fremdschlüssels?

DDD
Freigeben: 2024-11-30 15:58:14
Original
972 Leute haben es durchsucht

How to Resolve MySQL Foreign Key Constraint Errors When Adding a Foreign Key?

Fehler beim Hinzufügen eines Fremdschlüssels in der MySQL-Tabelle behoben

Problem:

Sie möchten einem vorhandenen einen Fremdschlüssel hinzufügen MySQL-Tabelle, stoße jedoch auf Folgendes Fehler:

***Error Code: 1005. Can't create table 'mytable.#sql-7fb1_7d3a' (errno: 150)***
***Error in foreign key constraint of table mytable.#sql-7fb1_7d3a:***
FOREIGN KEY (`Sprache`) REFERENCES `Sprache` (`ID`) ON DELETE SET NULL ON UPDATE SET NULL:
Nach dem Login kopieren

Lösung:

Um den Fehler zu beheben, stellen Sie sicher, dass die Tabelle, auf die Sie verweisen, tatsächlich existiert und die richtigen Spaltennamen hat. Der Fehler weist darauf hin, dass die Sprache-Tabelle nicht vorhanden ist oder keine Spalte mit dem Namen ID hat.

Überarbeitete Abfrage:

ALTER TABLE katalog
ADD CONSTRAINT fk_katalog_sprache
FOREIGN KEY (`Sprache`)
REFERENCES Sprache(ID)
ON DELETE SET NULL
ON UPDATE SET NULL;
Nach dem Login kopieren

Zusätzliche Hinweise:

  • Beide Tabellen (Katalog und Sprache) müssen InnoDB sein und entsprechende Datentypen haben (INT(11) und NOT NULL) für die referenzierten Spalten.
  • Die Fremdschlüsselspalte (Sprache) in der Katalogtabelle darf vor dem Hinzufügen der Einschränkung keine NULL-Werte enthalten.
  • Die referenzierte Spalte (in diesem Fall die ID) in der Sprache-Tabelle sollte der Primärschlüssel sein.

Allgemeine Fremdschlüsseladdition Syntax:

ALTER TABLE <table_name>
ADD FOREIGN KEY (<column_name>)
REFERENCES <foreign_table_name>(<foreign_column_name>);
Nach dem Login kopieren

Wenn Sie diese überarbeiteten Anweisungen befolgen, sollten Sie in der Lage sein, den Fremdschlüssel erfolgreich zur Katalogtabelle in MySQL hinzuzufügen.

Das obige ist der detaillierte Inhalt vonWie behebt man MySQL-Fremdschlüsseleinschränkungsfehler beim Hinzufügen eines Fremdschlüssels?. 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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage