Heim > Datenbank > MySQL-Tutorial > Warum erhalte ich den MySQL-Fremdschlüsselfehler 1005, wenn ich einen Fremdschlüssel erstelle, der auf einen Primärschlüssel verweist?

Warum erhalte ich den MySQL-Fremdschlüsselfehler 1005, wenn ich einen Fremdschlüssel erstelle, der auf einen Primärschlüssel verweist?

Barbara Streisand
Freigeben: 2024-12-26 12:31:10
Original
211 Leute haben es durchsucht

Why am I getting MySQL Foreign Key Error 1005 when creating a foreign key referencing a primary key?

MySQL-Fremdschlüsselfehler 1005: Primärschlüssel als Fremdschlüssel

Das Erstellen eines Fremdschlüssels, der auf einen Primärschlüssel verweist, wird im Allgemeinen nicht empfohlen, da Dies kann zu Leistungsproblemen und Datenintegritätsproblemen führen.

Primärschlüssel als Fremdschlüssel Schlüssel

Es ist zwar möglich, einen Primärschlüssel zu erstellen, der auch ein Fremdschlüssel ist, dies ist jedoch keine gängige Praxis. Dadurch schränken Sie die Flexibilität der Fremdschlüsseltabelle ein, da sie nicht von anderen Tabellen referenziert werden kann.

Fehler 1005

Der Fehler, auf den Sie stoßen, „Fehler 1005: Tabelle 'dbimmobili.condoni' kann nicht erstellt werden (Fehlernummer: 150)“ zeigt an, dass MySQL die Fremddatei nicht erstellen kann Schlüssel korrekt.

Fehlender Index

Wie in der Fehlermeldung angegeben, benötigt MySQL einen verwendbaren Index sowohl für die referenzierenden als auch für die referenzierten Tabellen für Fremdschlüsseleinschränkungen. In Ihrem Fall haben Sie anscheinend keinen Index für den Primärschlüssel der referenzierten Tabelle erstellt.

Lösung

Um das Problem zu beheben, stellen Sie sicher, dass die referenzierte Tabelle dbimmobili.Immobile verfügt über einen Index, der für die Primärschlüsselspalten erstellt wird: ComuneImmobile, ViaImmobile, CivicoImmobile und InternoImmobile. Sobald Sie den Index erstellt haben, sollten Sie die Änderungen erfolgreich exportieren können.

Das obige ist der detaillierte Inhalt vonWarum erhalte ich den MySQL-Fremdschlüsselfehler 1005, wenn ich einen Fremdschlüssel erstelle, der auf einen Primärschlüssel verweist?. 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