Frage: Können Fremdschlüsseleinschränkungen in MySQL bis zum Commit verschoben werden?
Diese Frage stellt sich, wenn in MySQL Masseneinfügungen durchgeführt werden, insbesondere wenn es versucht wird um Daten in durch Fremdschlüssel verknüpfte Tabellen einzufügen. Trotz der Ausführung von Einfügungen innerhalb einer Transaktion können Einschränkungsfehler auftreten.
Antwort:
Leider werden referenzielle Integritätsprüfungen in InnoDB laut MySQL-Dokumentation sofort in jeder Zeile durchgeführt Einfügen, anstatt bis zur Transaktionsfestschreibung zurückgestellt zu werden. Dieses Verhalten weicht vom SQL-Standard ab, der eine verzögerte Integritätsprüfung vorsieht.
Die unmittelbaren Prüfungen bringen Einschränkungen mit sich, insbesondere bei der Handhabung selbstreferenzieller Tabellen oder Szenarios, in denen Fremdschlüsselverweise sequentiell aktualisiert werden müssen. Bis MySQL die verzögerte Einschränkungsprüfung implementiert, erfordern solche Vorgänge möglicherweise alternative Ansätze.
Das obige ist der detaillierte Inhalt vonKönnen Fremdschlüsseleinschränkungen bis zur Festschreibung in MySQL verschoben werden?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!