Heim > Datenbank > MySQL-Tutorial > Warum erhalte ich „Fehlercode: 1005', wenn ich einen Fremdschlüssel zu meiner MySQL-Tabelle hinzufüge?

Warum erhalte ich „Fehlercode: 1005', wenn ich einen Fremdschlüssel zu meiner MySQL-Tabelle hinzufüge?

Barbara Streisand
Freigeben: 2024-12-10 04:06:49
Original
845 Leute haben es durchsucht

Why Am I Getting

Fehlerbehebung beim Hinzufügen von Fremdschlüsseln zur Tabelle

Beim Versuch, einen Fremdschlüssel zu einer vorhandenen Tabelle mit dem Namen „katalog“ hinzuzufügen, kann eine Fehlermeldung erscheinen auftreten: „Fehlercode: 1005. Tabelle „mytable.#sql-7fb1_7d3a“ kann nicht erstellt werden. (Fehlernummer: 150)."

Ursachen:

  • Syntaxfehler in der ALTER TABLE-Anweisung: Die bereitgestellte Syntax enthält eine falsche Verweis auf die Tabelle mytable.#sql-7fb1_7d3a statt Katalog.
  • Fehlender oder ungültiger Verweis auf die referenzierte Tabelle: Stellen Sie sicher, dass die referenzierte Tabelle (in diesem Fall Sprache) vorhanden ist und eine entsprechend passende Spalte (in diesem Fall ID) hat.
  • Inkompatibilität zwischen Tabellen- und Referenzspaltenattributen: Überprüfen Sie, ob die Datentypen und Einschränkungen der Fremdschlüsselspalte und der referenzierten Spalte übereinstimmen sind kompatibel.

Lösung:

  1. Korrigieren Sie die Syntax in der ALTER TABLE-Anweisung, um auf den richtigen Tabellennamen Katalog zu verweisen.
  2. Stellen Sie sicher, dass die referenzierte Tabelle Sprache mit einer ID-Spalte vorhanden ist, die der Fremdschlüsseleinschränkung entspricht.
  3. Überprüfen Sie dies Die Datentypen und Einschränkungen der Fremdschlüsselspalte (in diesem Fall Sprache) stimmen mit denen der referenzierten Spalte (ID in Sprache) in der referenzierten Tabelle überein.

Beispiel:

Um den Fremdschlüssel erfolgreich hinzuzufügen, verwenden Sie die folgende korrigierte ALTER TABLE-Anweisung:

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

Das obige ist der detaillierte Inhalt vonWarum erhalte ich „Fehlercode: 1005', wenn ich einen Fremdschlüssel zu meiner MySQL-Tabelle hinzufüge?. 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