gpt4 book ai didi

mysql - 外键可以是另一个表的复合主键的一部分吗?

转载 作者:可可西里 更新时间:2023-11-01 07:51:06 27 4
gpt4 key购买 nike

我在音乐数据库中有两个(很多)表:

音乐会:ArtistID、ConcertID、ConcetName、VenueIDConcertDetails:ConcertDate、ConcertID、费用

如您所见,ConcertDetails 表使用也在 Concerts 表中的 ConcertID。我将 ConcertDate 和 ConcertID 结合起来,为 ConcertDetails 创建一个复合主键。但是,由于这与 Concert 表中的 ConcertID 相关,因此它也需要是一个外键。这样可以吗?

最佳答案

当然可以。主键的子集作为外键是很常见的。例如,任何多对多表都会这样做。在你的情况下:

CREATE TABLE ConcertDetails (
ConcertDate DATE NOT NULL,
ConcertID INT NOT NULL,
PRIMARY KEY (ConcertDate, ConcertID),
FOREIGN KEY (ConcertID) REFERENCES Concerts(ConcertID)
);

关于mysql - 外键可以是另一个表的复合主键的一部分吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43576974/

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