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:
- Korrigieren Sie die Syntax in der ALTER TABLE-Anweisung, um auf den richtigen Tabellennamen Katalog zu verweisen.
- Stellen Sie sicher, dass die referenzierte Tabelle Sprache mit einer ID-Spalte vorhanden ist, die der Fremdschlüsseleinschränkung entspricht.
- Ü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!