gpt4 book ai didi

sql-server - sql server如何让外键成为主键

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

如何将外键设为表的主键?

我在使用 VS 2012 开发的 Web 应用程序中使用 SQL Server 2008。

目前,这就是我的数据库的设计方式。经过研究,似乎所有的表都必须有一个唯一的主键来标识行。不幸的是,我的一些表似乎不需要主键,因为我的外键足以作为唯一键。

比如我有5张 table 。

  1. 成员(member)报告
  2. 管理分配
  3. 报警
  4. AdminOfficialReport
  5. 高级官方报告

我的 memberreport 表有一个名为 memberreportID 的主键,我可以将它用作数据库中所有 5 个表的通用主键。

我的 adminassign 表有 memberreportID 作为外键,经过大量研究,我意识到几乎所有表都提到表必须有主键。可能类似于 ID(唯一值)。

但是,在我看来,memberreportID 基本上可以用作我拥有的所有 5 个表的唯一键(主键)。

我所有的 5 个表都需要 memberreportID 作为它们的外键。因此,我想问一下我是否可以将我的外键用作所有其他表的主键以及如何使用?

最佳答案

一个列既可以是主键也可以是外键。例如:

create table t1 
(
id int not null
, constraint PK_T1 primary key (id)
);

create table t2
(
id int not null
, constraint PK_T2 primary key (id)
, constraint FK_T2_ID foreign key (id) references t1(id)
);

请注意,这意味着您必须先在第一个表格中添加该行,然后才能将其添加到第二个表格中。

关于sql-server - sql server如何让外键成为主键,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16686575/

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