Back to questions
Junior — Middle
65
Можете пояснить, каким образом реализуется операция каскадного удаления и обновления в SQL?
Answer from AI
sobes.tech AI
Каскадное удаление и обновление в SQL реализуются с помощью ограничений внешнего ключа (FOREIGN KEY) с опциями ON DELETE CASCADE и ON UPDATE CASCADE.
Это означает, что при удалении или обновлении записи в родительской таблице автоматически будут удалены или обновлены связанные записи в дочерних таблицах.
Пример создания таблиц с каскадным удалением и обновлением:
CREATE TABLE parent (
id INT PRIMARY KEY,
name VARCHAR(100)
);
CREATE TABLE child (
id INT PRIMARY KEY,
parent_id INT,
description VARCHAR(100),
FOREIGN KEY (parent_id) REFERENCES parent(id)
ON DELETE CASCADE
ON UPDATE CASCADE
);
В этом примере:
- Если удалить запись из
parent, все связанные записи изchildс такимparent_idтоже удалятся. - Если изменить
idвparent, соответствующие значенияparent_idвchildобновятся автоматически.
Это удобно для поддержания целостности данных без необходимости писать дополнительный код.