【发布时间】:2014-05-08 09:07:37
【问题描述】:
我认为我不能在标题中具体说明我的问题。让我这样说吧,不要谈论项目的内容。
我的数据库中有很多表,其中两个是Persons 和Address。需要规范化并在这两个实体之间设置多对多关系,我不会在这些表中保留任何外键相互引用。例如,我没有在 Person 表中存储 Address 表的外键
相反,我的外键位于名为PersonAddress 的第三个表中。该表只包含两个外键,它们引用各自表中的主键 (Person,Address)
在 Microsoft SQL Server 中,我们将有问题的表链接到另外两个表,使名为 PersonAddress 的表的属性 (PersonId, AddressId) 外键 到另外两个表,允许删除和更新级联操作。 (无论如何)
第一次,它似乎会很好地工作。但是,当我们不断往数据库中输入数据时,发现第三张表中的外键值保持不变,我们可以看到 Person 和 Address 表中的每个主键值
任何帮助都将不胜感激,并提前感谢您的预期尝试,伙计们。
【问题讨论】:
-
在定义外键时是否添加了 ON DELETE CASCADE ON UPDATE CASCADE?
-
你能澄清一下你正在执行什么语句,你认为应该是什么效果?
标签: sql sql-server database