gpt4 book ai didi

具有多个主键复合约束的mysql表

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

如果标题不完全..有用,我很抱歉,但我不确定如何在标题中解释我的问题。

基本上,我想创建一个这样的表:

预订

   day
room
id_client
[other_stuff]

对于给定的一天+房间,您可以获得 id_client + 其他所有内容。而且对于给定的 id_client + 天,您可以获得房间 + 其他东西。

我不太明白我怎么能说复合日+房间必须是唯一的并且复合日+id_client 也必须是唯一的。我的数据库中确实需要这两个约束。

有人有想法吗?

谢谢。

最佳答案

将一个组合定义为 PRIMARY KEY,将另一个组合定义为 UNIQUE 键:

CREATE TABLE reservation
( day
, room
, id_client
, [other_stuff]
, PRIMARY KEY (day, room)
, UNIQUE KEY (id_client, day)
) ;

或者反过来:

CREATE TABLE reservation
( day
, room
, id_client
, [other_stuff]
, PRIMARY KEY (id_client, day)
, UNIQUE KEY (day, room)
) ;

或者,如果您已经有另一个主键,请将它们都设为唯一:

CREATE TABLE reservation
( reservation_id
, day
, room
, id_client
, [other_stuff]
, PRIMARY KEY (reservation_id)
, UNIQUE KEY (id_client, day)
, UNIQUE KEY (day, room)
) ;

关于具有多个主键复合约束的mysql表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8527681/

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