MySQL-Fremdschlüsseleinschränkungsfehler: Untersuchung der Ursache
Beim Versuch, eine Tabelle mit einer Fremdschlüsseleinschränkung in MySQL zu erstellen, kann es sein, dass Sie Ich stoße auf den kryptischen Fehler: „Fremdschlüsseleinschränkung kann nicht hinzugefügt werden.“ Dieser Fehler kann verwirrend sein, insbesondere wenn Sie sichergestellt haben, dass der Primärschlüssel in der referenzierten Tabelle vorhanden ist.
Um die Ursache dieses Fehlers zu ermitteln, führen Sie den folgenden Befehl aus:
SHOW ENGINE INNODB STATUS;
Dieser Befehl zeigt detaillierte Informationen über die InnoDB-Engine an, einschließlich Fremdschlüsseleinschränkungen und deren Fehler.
Einer der häufigsten Gründe für diesen Fehler ist eine Nichtübereinstimmung zwischen dem referenzierten Feld und dem Fremdschlüsselfeld. Sie müssen in den folgenden Aspekten übereinstimmen:
Eine weitere mögliche Ursache ist die Definition einer SET NULL-Bedingung für a Fremdschlüssel, auch wenn einige Spalten in der Referenztabelle NICHT NULL sind. Um diesen Fehler zu vermeiden, stellen Sie sicher, dass alle an der Fremdschlüsseleinschränkung beteiligten Spalten NICHT NULL sind.
Denken Sie daran, dass es zwar möglich ist, Fremdschlüsselprüfungen mit „set Foreign_key_checks=0“ vorübergehend zu deaktivieren, dies jedoch nur für getan werden sollte spezifische Debugging-Zwecke. Stellen Sie immer sicher, dass Fremdschlüsseleinschränkungen aktiviert sind, um die Datenintegrität in Ihrer Datenbank aufrechtzuerhalten.
Das obige ist der detaillierte Inhalt vonWarum kann ich in MySQL keine Fremdschlüsseleinschränkung hinzufügen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!