gpt4 book ai didi

sql - 表中的复合备用键

转载 作者:行者123 更新时间:2023-12-02 08:52:37 24 4
gpt4 key购买 nike

假设一个表有 4 列 A、B、C 和 D。只有 A 列定义唯一性,这就是它是主键的原因。 B、C 和 D 允许条目重复,这就是为什么我们不能将它们作为复合备用键。是否可以在主键和备用键中使用同一列,例如,将备用键用作(A 和 B)?

最佳答案

除非我没明白你的想法,否则对于 MS SQL 来说这是很有可能的,看看这个测试:

CREATE TABLE Alternate (
A int IDENTITY(1,1) NOT NULL,
B int NULL,
C int NULL,
D int NULL,
CONSTRAINT PK_Alternate PRIMARY KEY (A),
CONSTRAINT AK_Alternate Unique (A,B)
)
GO

insert into Alternate (B) values(1)
insert into Alternate (B) values(1)
insert into Alternate (B) values(1)
insert into Alternate (B) values(null)
insert into Alternate (B) values(null)
insert into Alternate (B) values(null)

select A, B from Alternate

结果如下:

1 1

2 1

3 1

4 空

5 空

6 空

关于sql - 表中的复合备用键,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7376688/

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