我有一个users
表和其他表格,例如services
,orders
等...我希望将其变成users
的子表表
到目前为止,这很简单,我只是在users(id)
和orders(user_id)
之间添加外键约束。但是,如果我想添加一个布尔users(disabled)
字段,可以将更新级联到引用{{1}中相应行的行中的orders(disabled)
和services(disabled)
字段。通过users
密钥?
如果我使用2个键(一个主键和一个非唯一键)在子表中创建父表的引用,它会工作吗?
答案 0 :(得分:1)
如果你已经尝试过,你可能已经自己回答了你的问题。基本上,您无法在不属于外部表上主键的列上创建外键关系(顾名思义)。
因此,除非disabled
列是users
表上主键的一部分,否则,您将无法在另一个表中创建外键关系将包含disabled
列。
尽管如此,一切都没有丢失。当用户被禁用时,您可以使用triggers 触发禁用订单和服务。