Как задать условия удаления записей по внешнему ключу 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.
подскажите, как это можно сделать?