Gerd199

ответов0 / помог0

Как присвоить свойство CASCADE

1679839608
https://www.scaler.com/topics/sql/cascade-in-sql Хочу освоить возможности каскада. У меня уже есть 5 таблиц которые связаны между собой, в них записи. В статье приведены примеры когда полю назначаем определенные свойства при создании таблицы Есть основная таблица

News
id  name
1   name1
2   name2
3   name3
Вторая это

comments
id   id_news 
1    2
2    3
3    3
Как мне сделать общий класс к уже существующим набитым таблицам. Когда удаляем новость из таблицы News, как сделать так, чтобы записи с id_news так же удалились из таблицы для сообщений... Только тогда когда выполняем удаление, не для записи не для обновлении не нужно.
sad67man
ответов2 / помог2
Обновлен 1679841114

ALTER TABLE comments
    ADD CONSTRAINT `fk-comments-id_news` FOREIGN KEY (id_news)
        REFERENCES News(id)
        ON DELETE CASCADE;
Gerd199влепить жирный лайк
Quja11
ответов1 / помог1
1679840229
Привет, можно следующим образом: alter table comments //Изменяем таблицу комментс add constraint news_fk // Создаем новое ограничение с названием news_fk (делается это для того, чтобы в будущем легче было управлять ограничением(ями) add foreign key (id_news) references news(id) on delete cascade //Создаем внешний ключ (id_news) и ссылаемся на главную таблицу news(и на необходимый столбец, в данном случае id; on delete cascade, это то, что тебе требовалось, т.е. при удалении строки из главной таблица с определенным id, например, 1 -> удалится и строка из дочерней таблица, где внешний ключ равен 1);
Gerd199влепить жирный лайк
Сначала вход
A B i U S JS PHP HTML CSS SQL C C++ C# PYTHON JAVA
Для входа только имэйл или имя и апроль
Можно сменить аватар
Имэйл Ваше имя
Пароль