Как задать условия удаления записей по внешнему ключу SQL?

Есть 2 таблицы orders(id) и order_swaps(id, order_id).

orders связь с order_swaps (order_id -> id)

... foreign key ("order_id") references orders (id) on delete restrict

мне нужно сделать следующую вещь:

  • ограничить возможность удалять записи из таблицы order_swaps, тоесть если в таблице orders есть соответствующая запись, то записи из order_swaps удалять нельзя.
  • в свою очередь, если удаляется запись из orders, то соответствующие записи удаляются из order_swaps автоматом.

при использовании on delete restrict ситуация полностью зеркальная. я не могу удалить запили из таблицы orders, пока не удалю записи orders_swaps. Я хочу добиться обратного эффекта: нельзя удалить записи из order_swaps, пока существует запись в orders.

подскажите, как это можно сделать?


Ответы (0 шт):