In MySQL bestimmt das ON DELETE-Verhalten, was mit zugehörigen Daten in einer untergeordneten Tabelle passiert, wenn ein Datensatz aus der übergeordneten Tabelle gelöscht wird . Standardmäßig verwendet MySQL das NO ACTION-Verhalten.
Standardverhalten: NO ACTION
Sowohl NO ACTION als auch RESTRICT verhindern Änderungen, die Fremdschlüsselbeschränkungen verletzen. Wenn die ON DELETE-Klausel weggelassen wird, werden diese Standardverhalten wirksam. Sie bewahren die Integrität der referenzierten Daten, indem sie deren Löschung oder Änderung verhindern.
Andere Verhaltensoptionen
SET NULL:
Löscht das übergeordnete Element Zeile und setzt den Fremdschlüssel in der untergeordneten Tabelle auf NULL (falls zulässig).
CASCADE:
Löscht untergeordnete Zeilen, die auf die gelöschte übergeordnete Zeile verweisen.
SET DEFAULT:
Diese Option wird von InnoDB nicht unterstützt. Es wurde vom Parser erkannt, aber bei der Tabellendefinition abgelehnt.
Zusammenfassung
Die folgende Tabelle fasst die in MySQL verfügbaren ON DELETE-Verhaltensweisen zusammen:
Behavior | Description |
---|---|
NO ACTION | Prevents deletion or update of parent rows |
RESTRICT | Same as NO ACTION |
SET NULL | Sets foreign key to NULL when parent row is deleted |
CASCADE | Deletes child rows when parent row is deleted |
Das obige ist der detaillierte Inhalt vonWas passiert mit zugehörigen Daten, wenn eine übergeordnete Zeile in MySQL gelöscht wird?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!