【发布时间】:2008-09-23 19:36:59
【问题描述】:
我的数据库中有如下表关系:
Parent
/ \
Child1 Child2
\ /
GrandChild
我正在尝试创建 FK 关系,以便删除父表级联到子表和孙表。对于任何一个特定的孙子,它要么是一个或另一个子表的父级,但绝不会同时成为两个子表。
当我尝试将 ON DELETE CASCADE 添加到 FK 关系时,将它们添加到两个孩子的“一侧”一切都很好(Parent-Child1-GrandChild 适合 Cascade Delete)。但是,只要我在关系的 Child2“一侧”添加 Cascade Delete,SQL 就会告诉我 FK 会导致多个级联路径。我的印象是,仅当多个 FK 指示 SAME 表时才适用多个级联路径。在这种情况下,为什么会出现多级联路径错误?
PS 此时的表关系很难改变,所以简单地告诉我改变我的表结构不会有帮助,谢谢。
【问题讨论】:
标签: sql sql-server