Ändern der referenziellen Fremdschlüsselaktion
Fremdschlüsseleinschränkungen erzwingen die referenzielle Integrität, indem sie sicherstellen, dass Zeilen in einer untergeordneten Tabelle nicht gelöscht werden können, wenn auf sie verwiesen wird nach Zeilen in einer übergeordneten Tabelle. Standardmäßig sind Fremdschlüsseleinschränkungen auf ON DELETE CASCADE eingestellt, wodurch untergeordnete Zeilen automatisch gelöscht werden, wenn ihre übergeordneten Zeilen gelöscht werden.
Wenn Sie die referenzielle Aktion in ON DELETE RESTRICT ändern möchten, wird das Löschen der übergeordneten Zeilen verhindert Zeilen, wenn ihnen untergeordnete Zeilen zugeordnet sind, können Sie dies mit den folgenden SQL-Befehlen tun:
Schritt 1: Löschen Sie die Vorhandene Einschränkung
ALTER TABLE table_name DROP FOREIGN KEY constraint_name;
Dieser Befehl entfernt die vorhandene Fremdschlüsseleinschränkung, lässt aber die Fremdschlüsselspalte bestehen.
Schritt 2: Fügen Sie die neue Einschränkung mit ON hinzu DELETE RESTRICT
ALTER TABLE table_name ADD CONSTRAINT constraint_name FOREIGN KEY (foreign_key_column) REFERENCES parent_table (parent_key) ON DELETE RESTRICT;
Dieser Befehl erstellt eine neue Fremdschlüsseleinschränkung mit ON DELETE RESTRICT verhindert effektiv, dass übergeordnete Zeilen gelöscht werden, wenn sie verknüpfte untergeordnete Zeilen haben.
Hinweis: Bevor Sie diese Änderungen vornehmen, stellen Sie sicher, dass die Tabellendaten mit der gewünschten Referenzaktion konsistent sind.
Das obige ist der detaillierte Inhalt vonWie ändere ich eine referenzielle Fremdschlüsselaktion von ON DELETE CASCADE in ON DELETE RESTRICT?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!