У меня есть две таблицы. Device
и Device_Config
. таблица Устройство имеет следующие столбцы:Postgresql delete on cascade
device_id
config_id
bla
bla2
foo
bar
И Device_config
имеет следующие столбцы
id
foo
bar
Как вы можете предсказать, config_id
на моем Device
таблицы внешний ключ ссылается id
столбец на Device_config
So Я добавил это ограничение в таблицу Device
.
ALTER TABLE device
ADD CONSTRAINT device_config_id_fk FOREIGN KEY (config_id)
REFERENCES device_config (id) MATCH SIMPLE
ON UPDATE NO ACTION ON DELETE CASCADE;
Но этот путь, когда строка Device_config
удаляется соответствующая строка на Device
таблицы удаляется. Однако я хочу наоборот. Когда устройство будет удалено, я хочу удалить соответствующую запись в device_config
. Как я могу это достичь?
Так несколько различных устройств одни и те же конфигурации? Я мог бы не понимать ваш бизнес-пример, но я бы ожидал, что внешний ключ будет указывать * от * 'device_config' * до *' device', то есть 'device_id' в таблице' device_config', а не наоборот –
Please добавьте * real * DDLS. ИМХО большинство людей читают sql быстрее, чем ваш сокращенный псевдокод. – wildplasser