Verschieben referenzieller Integritätsprüfungen in MySQL bis zum Commit
Wie in einer vorherigen Frage besprochen, kann es wünschenswert sein, referenzielle Integritätsprüfungen bis zum Commit zu verschieben Commit einer Transaktion. Dies kann nützlich sein, wenn eine große Anzahl verwandter Datensätze in mehrere Tabellen eingefügt wird.
Der MySQL-Dokumentation zufolge „prüft InnoDB jedoch sofort Fremdschlüsseleinschränkungen; die Prüfung wird nicht auf die Transaktionsfestschreibung verschoben.“ Dies bedeutet, dass Verstöße gegen Fremdschlüsseleinschränkungen während des Einfügevorgangs zu einem Fehler führen, auch innerhalb einer Transaktion.
Diese Einschränkung verhindert bestimmte Vorgänge, die auf einer verzögerten Einschränkungsprüfung basieren, z. B. das Löschen eines Datensatzes, der auf sich selbst verweist ein Fremdschlüssel. Daher ist es nicht möglich, referenzielle Integritätsprüfungen bis zum Commit in MySQL mithilfe von InnoDB aufzuschieben.
Das obige ist der detaillierte Inhalt vonKönnen referenzielle Integritätsprüfungen in MySQL bis zum Commit verschoben werden?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!