1

我想知道这种事情是否会起作用:

假设我有两个表:COMPANIES 和 ADDRESSES。每个公司只能有一个地址。简化的模式看起来像这样。

COMPANIES
id
address_id
name
(...)

ADDRESSES
id
first_name
street
(...)

现在,我想在COMPANIES.address_id -> ADDRESSES.id ON DELETE SET NULL ON UPDATE CASCADE添加外键。但我也希望在删除公司时删除地址。因此,另一种方法是ADDRESSES.id -> COMPANIES.address_id ON DELETE CASCADE。这是安全和可能的吗?

4

1 回答 1

2

也许,使用触发器代替外键可以解决您的问题。

create trigger addr_delete
after delete on companies for each row
begin
   delete from addresses where id=old.address_id
end
于 2012-07-23T14:03:20.633 回答