【问题标题】:How can I create foreign keys for junction table如何为联结表创建外键
【发布时间】:2011-04-21 15:54:10
【问题描述】:

我有 Object1 和联结表和 Object2。 Object2 是具有许多联结表的表,但只能有一个联结表来引用它。删除表 Object1 时,应删除联结表和 Object2。在这种情况下如何制作外键?但是当 Object2 被移除时,那么只有联结表应该被移除,而不是 Object1。我正在使用 SQL Server 2008。

【问题讨论】:

    标签: sql sql-server junction-table


    【解决方案1】:

    你可以

    • CASCADING DELETES 应用于从junction 表到Object2 的外键。
    • Object1中添加Trigger,检查是否删除,删除你的junction表和Object2中的对应记录。

    【讨论】:

      【解决方案2】:

      我建议:

      1. 删除表 1 中的行时,应删除表 2 中的联结表 (JT) 和行。答:在 JT 中参考表 1 设置 FK,并将 ON DELETE CASCADE 设置为 on。在表 2 中参考 JT 设置 FK,并将 ON DELETE CASCADE 设置为 on。

      2. 删除表 2 中的行时,应删除 JT 中的行。答:您可能需要为此设置触发器。

      【讨论】:

        猜你喜欢
        • 2015-09-23
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-05-20
        相关资源
        最近更新 更多