Heim >Datenbank >MySQL-Tutorial >Was passiert mit zugehörigen Daten, wenn eine übergeordnete Zeile in MySQL gelöscht wird?

Was passiert mit zugehörigen Daten, wenn eine übergeordnete Zeile in MySQL gelöscht wird?

Mary-Kate Olsen
Mary-Kate OlsenOriginal
2024-11-04 17:15:021046Durchsuche

What Happens to Related Data When a Parent Row is Deleted in MySQL?

Erläuterung des standardmäßigen ON DELETE-Verhaltens von MySQL

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!

Stellungnahme:
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