Heim  >  Artikel  >  Datenbank  >  Was ist der Grund für den Fehler beim Hinzufügen von Fremdschlüsseln zu MySQL?

Was ist der Grund für den Fehler beim Hinzufügen von Fremdschlüsseln zu MySQL?

王林
王林Original
2020-10-16 14:47:374572Durchsuche

Die Gründe für den Fehler beim Hinzufügen von Fremdschlüsseln in MySQL: 1. Das Feld des Fremdschlüssels stimmt nicht mit dem Typ des zugehörigen Feldes überein. 2. Der Fremdschlüsselname wird wiederholt. 3. Der Fremdschlüssel ist nicht indiziert. 4. Der Fremdschlüssel hat einen Standardwert; 5. Syntaxfehler.

Was ist der Grund für den Fehler beim Hinzufügen von Fremdschlüsseln zu MySQL?

Ursachenanalyse:

(Empfohlenes Tutorial: MySQL-Video-Tutorial)

Die erste Situation: Das Feld des Fremdschlüssels stimmt nicht mit dem Typ des zugehörigen Felds überein (einschließlich der Nichtübereinstimmung des Codierungsformats).

Der zweite Fall: Der Name des Fremdschlüssels ist ein vorhandener Schlüsselwert und der Name muss eindeutig sein.

Der dritte Fall: Die durch die MySQL-Engine verursachte Fremdschlüsselerstellung kann nicht gespeichert werden oder funktioniert nicht, die allgemeine Standard-Engine von MySQL Es ist Myisam und Myisam kann keine Fremdschlüssel erstellen.

Die vierte Situation: Der Fremdschlüssel, den Sie erstellen möchten, ist nicht indiziert oder kein Primärschlüssel. Wenn es sich nicht um einen Primärschlüssel handelt, müssen Sie einen Index dafür erstellen.

Fünfte Situation: Die Aktion des Fremdschlüssels ist beim Löschen auf Null gesetzt oder beim Aktualisieren auf Null gesetzt, aber das Feld der zugehörigen Tabelle ist nicht auf Null gesetzt, was zu einem Konflikt führt.

Sechster Fall: Es gibt Unterschiede zwischen Primärschlüssel 1, Primärschlüssel 2 und Primärschlüssel 3 in der von Navicat festgelegten Tabelle. Primärschlüssel 1 kann nicht kaskadiert aktualisiert (gelöscht) werden (CASCADE)

Siebter Fall: Fremdschlüssel vorhanden ist ein Standardwert, der Konflikte verursacht

Der achte Fall: Aufgrund des fehlenden Indexes für den gemischten Schlüsselwert müssen Sie einen separaten Index dafür beantragen

Der neunte Fall: beim Erstellen eines Fremdschlüssels in der SQL-Anweisung , die Syntax zum Erstellen oder Ändern ist falsch

Verwandte Empfehlungen: MySQL-Tutorial

Das obige ist der detaillierte Inhalt vonWas ist der Grund für den Fehler beim Hinzufügen von Fremdschlüsseln zu MySQL?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
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