У меня есть 4 таблицы, которые предполагают: t1.id - это PK, а t2.id, t3.id, t4.id - FK, сейчас, как удалить конкретную строку (id) из всех таблиц?
t1.id
PK
t2.id
t3.id
t4.id
FK
id
Конечно, я искал, но не смог найти ответ, и я запутался !!!
Пожалуйста, помогите мне.
Вы можете изменить чужое на t2, t3 и t4, чтобы иметь CASCADE DELETE.
Таким образом, когда строка удаляется в t1, она автоматически удаляет дочерние строки из t2, t3 и t4
Иногда вы не можете иметь или не хотите каскадировать, поэтому вам нужно сделать это вручную, как этот вопрос при каскадном удалении в таблице с двумя FK для одной таблицы
delete from t2 where t2.Id = <id> delete from t3 where t3.Id = <id> delete from t4 where t4.Id = <id> delete from t1 where t1.Id = <id>
Не уверен, что я неправильно понял ваш вопрос.Но для удаления определенной строки из таблицы нужен только идентификатор этой строки.Кроме того, при удалении записей из реляционной схемы родительско-дочерних отношений необходимо убедиться, что запись из родительской таблицы удаляется только после удаления всех дочерних записей.