gpt4 book ai didi

sql - 如何将主键值分配给外键?

转载 作者:搜寻专家 更新时间:2023-10-30 21:59:18 27 4
gpt4 key购买 nike

我不认为我可以在标题中具体说明我的问题。让我这样说吧,远离谈论项目的内容。

我的数据库中有很多表,其中两个是PersonsAddress。需要在这两个实体之间进行规范化和设置多对多关系,我不会在这些表中保留任何外键来相互引用。例如,我不在 Person 表中存储 Address 表的外键

相反,我的外键位于名为 PersonAddress 的第三个表中。该表仅包含两个引用其自身表中主键的外键(PersonAddress)

在 Microsoft SQL Server 中,我们将有问题的表链接到其他两个表,使名为 PersonAddress 的表的属性(PersonId、AddressId)外来其他两个表的键,允许删除和更新级联操作。 (无论如何)

一开始觉得会很好用。但是,当我们不断向数据库中输入数据时,发现第三张表中的外键值没有变化,我们可以看到Person和Address表中的每个主键值

任何帮助将不胜感激,并提前感谢您的预期尝试,伙计们。

最佳答案

您创建中间表以创建多对多关系的做法是正确的,它似乎按预期工作。

  • SQL Server 不会自动删除 PersonAddress 表中的相关项,但如果您没有自己删除,则会失败
  • 我会在该表上的其他两个 ID 之间放置一个主键 - 也将它们都保留为 FK。

如果这不能回答问题,请澄清问题。

关于sql - 如何将主键值分配给外键?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23537391/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com