Tabellenfehler konnte nicht erstellt werden: Fehlerbehebung „Fehlercode: 1005. Tabelle '...' kann nicht erstellt werden“
Dies Ein Fehler in MySQL tritt auf, wenn beim Versuch, eine Tabelle zu erstellen, ein Problem auftritt, das durch den Fehlercode 1005 gekennzeichnet ist. Das spezifische Problem bezieht sich auf den Fremdschlüssel Referenzierung.
Mögliche Ursachen:
-
Nicht übereinstimmende Schlüsselfelder: Stellen Sie sicher, dass Typ und Größe des Primärschlüsselfelds im referenzierten Feld übereinstimmen Die Tabelle stimmt genau mit dem Fremdschlüsselfeld überein. Überprüfen Sie, ob es Abweichungen in der Größe (z. B. INT vs. BIGINT) oder im signierten/nicht signierten Status gibt.
-
Fehlender Index oder Nicht-Primärschlüssel: Erstellen Sie einen Index für das referenzierte Schlüsselfeld, wenn dies der Fall ist Sie haben keinen oder sind kein Primärschlüssel.
-
Doppelter Fremdschlüsselname: Stellen Sie sicher, dass der Fremdschlüsselname innerhalb der Datenbank eindeutig ist. Fügen Sie am Ende des Schlüsselnamens zufällige Zeichen hinzu, um dies zu testen.
-
Nicht-InnoDB-Tabellentyp: Für Fremdschlüsselbeziehungen müssen beide Tabellen vom InnoDB-Typ sein. Konvertieren Sie MyISAM-Tabellen in InnoDB.
-
NULL-Einschränkungskonflikt: Stellen Sie sicher, dass das Schlüsselfeld, auf das verwiesen wird, keine NOT NULL-Einschränkung aufweist, während Sie cascade ON DELETE SET NULL verwenden. Erlauben Sie bei Bedarf NULL-Werte.
-
Nichtübereinstimmung zwischen Zeichensatz und Sortierung:Überprüfen Sie, ob beide Tabellen und ihre Schlüsselspalten denselben Zeichensatz und dieselben Sortierungseinstellungen verwenden.
-
Standard Wert im Fremdschlüssel: Entfernen Sie alle in der Fremdschlüsselspalte festgelegten Standardwerte, da dies zu Störungen führen kann Referenzierung.
-
Zusammengesetzter Schlüssel ohne individuellen Index: Erstellen Sie einen separaten Index für jedes Schlüsselfeld, das in einem zusammengesetzten Schlüssel verwendet wird, auch wenn es bereits als Teil des zusammengesetzten Schlüssels indiziert ist.
-
Falsche Syntax oder falsch eingegebene Feldnamen: Überprüfen Sie die Syntax Ihrer ALTER-Anweisung und suchen Sie nach Tippfehlern in den beteiligten Feldnamen in der Beziehung.
-
Die Länge des Fremdschlüsselnamens überschreitet die Grenze:Der Fremdschlüsselname sollte innerhalb der Grenze von 64 Zeichen liegen.
Weitere Details und Möglichkeiten Lösungen finden Sie in der MySQL-Dokumentation: MySQL-Fehlernummer 1005 Tabelle kann nicht erstellt werden.
Das obige ist der detaillierte Inhalt vonWarum erhalte ich den MySQL-Fehler 1005: Tabelle kann nicht erstellt werden?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!