Heim > Datenbank > MySQL-Tutorial > Hauptteil

Hier sind einige Titeloptionen, die jeweils einen anderen Aspekt des Artikels hervorheben: Kurz und allgemein: * Warum kann ich in MySQL keine Fremdschlüsseleinschränkung hinzufügen? * Fehlerbehebung bei der Fremdschlüsseleinschränkung E

Mary-Kate Olsen
Freigeben: 2024-10-26 16:57:03
Original
880 Leute haben es durchsucht

Here are a few title options, each emphasizing a different aspect of the article:

Short and General:

* Why Can't I Add a Foreign Key Constraint in MySQL? 
* Troubleshooting Foreign Key Constraint Errors in MySQL

More Specific:

* MySQL Foreign Key Con

Fremdschlüsseleinschränkungsfehler in MySQL: Ursachen und Lösungen

Der Fehler „FEHLER 1215 (HY000): Fremdschlüsseleinschränkung kann nicht hinzugefügt werden“ entsteht beim Definieren einer Fremdschlüsselreferenz zwischen zwei Tabellen in MySQL. Um dieses Problem zu beheben, ist es wichtig sicherzustellen, dass bestimmte Kriterien sowohl für das referenzierte Feld als auch für das Fremdschlüsselfeld erfüllt sind:

Engine-Kompatibilität:
Beide Felder müssen sich in Tabellen mit befinden die gleiche Engine, typischerweise InnoDB.

Datentyp und Länge:
Die Datentypen und Längen der Felder müssen identisch sein. Wenn das referenzierte Feld beispielsweise ein VARCHAR(20) ist, sollte das Fremdschlüsselfeld auch VARCHAR(20) sein.

Sortierung:
Die Sortierung der Felder sollte übereinstimmen auch zum Beispiel utf8.

Eindeutigkeit:
Das referenzierte Feld in der übergeordneten Tabelle sollte eindeutig sein oder als PRIMARY KEY deklariert werden, um sicherzustellen, dass jede Zeile in der untergeordneten Tabelle einen hat eine gültige Referenz.

NULL-Einschränkungen:
Wenn das Fremdschlüsselfeld NULL-Werte zulässt, sollte das referenzierte Feld auch NULL-Werte zulassen.

Exklusiv Ausführung:
Bestimmte Szenarien erfordern möglicherweise die ausschließliche Ausführung der Fremdschlüsselerstellungsanweisung ohne andere gleichzeitige Abfragen. Dies kann beispielsweise durch Starten einer Transaktion erreicht werden:

<code class="sql">BEGIN;
CREATE TABLE course ( ... );
COMMIT;</code>
Nach dem Login kopieren

Zusätzliche Maßnahmen:

  • InnoDB-Status prüfen: An Um genauere Fehlerdetails zu erhalten, führen Sie SHOW ENGINE INNODB STATUS; aus.
  • Fremdschlüsselprüfungen deaktivieren: Fremdschlüsselprüfungen mit SET FOREIGN_KEY_CHECKS=0 vorübergehend deaktivieren; Ermöglicht die Erstellung der Tabelle, aber das Einfügen von Daten kann dennoch fehlschlagen, wenn die Fremdschlüsseleinschränkungen nicht erfüllt sind.
  • Verwenden Sie ON DELETE CASCADE / ON UPDATE CASCADE: Mit diesen Optionen werden die zugehörigen Zeilen in Die untergeordnete Tabelle wird automatisch gelöscht oder aktualisiert, wenn das referenzierte Feld in der übergeordneten Tabelle geändert wird.

Denken Sie daran, dass unbedingt überprüft werden muss, ob alle diese Bedingungen erfüllt sind, um eine erfolgreiche Erstellung von Fremdschlüsseleinschränkungen sicherzustellen.

Das obige ist der detaillierte Inhalt vonHier sind einige Titeloptionen, die jeweils einen anderen Aspekt des Artikels hervorheben: Kurz und allgemein: * Warum kann ich in MySQL keine Fremdschlüsseleinschränkung hinzufügen? * Fehlerbehebung bei der Fremdschlüsseleinschränkung E. 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
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!