【发布时间】:2012-10-15 11:58:57
【问题描述】:
我有一个表,它引用了主表的外键。但我想添加对另一个表的其他引用。
例如,假设我有三个表:Child, Parent, Transaction
父表:
- 父母ID
子表:
- 孩子ID
- 父母ID
交易表:
- 交易 ID
- ParentID(引用
ParentID on Parent表,可为空) - ChildID(引用
ChildID on Child表,可为空)
我想为ParentID on Child 表添加一个cascade on update 引用。这样当父子关系发生变化时,Transaction 表上的ParentID 将自动更新。
【问题讨论】:
-
问题是什么?您在哪里遇到问题?
-
我想像这样添加外键:
ALTER TABLE [Transaction] WITH CHECK ADD CONSTRAINT [FK_Name] FOREIGN KEY([ParentID]) REFERENCES [Child] ([ParentID]) CASCADE ON UPDATE -
为什么需要 Transaction 表中的 ParentID?您可以在子表中找到带有 ChildID 的 parentID。
-
@Wim 有时我只需要 ParentID,所以我只保存 ParentID。有时我只需要 ChildID,所以我只保存 ChildID。如果我只有 ChildID 列,那么当我只需要保存 ParentID 时,我不会保存 ParentID。