gpt4 book ai didi

mysql - 如何为仅在与另一列组合时需要唯一的列添加唯一约束?

转载 作者:行者123 更新时间:2023-11-29 00:22:29 27 4
gpt4 key购买 nike

好吧,假设我想创建两个表并将它们与外键匹配:

    Table #1 Series
Col 1: Series number (unique, primary key)
Col 2: Series name
Col 3: Series published date

Table #2 Episodes
Col 1: Series number (not unique in this table, foreign key, referenced with col1 of series table)
Col 2: Episode number
Col 3: Episode name

现在 Table Episodes 的 Col2 不能是唯一的(因为每个系列都有第一集、第二集等)但是当与 col1 连接时它确实需要是唯一的。换句话说,我希望我的约束允许这样做:

    Row 1: Series number 1, Episode number 1; Row 2: Series number 2, Episode number 1 

但不允许这样做:

    Row 1: Series number 1, Episode number 1; Row 2: Series number 1, Episode number 1

我不知道怎么办。我不能对剧集 # 列设置唯一约束,但我想避免看到与同一系列编号匹配的重复剧集编号。

当然,这可以在客户端(提交数据的地方)使用 javascript 来解决,但我认为那将是一个老套的解决方案。

最佳答案

您可以在超过 1 列上创建唯一索引:

alter table Episodes add unique index(Seriesnumber, Episodenumber);

关于mysql - 如何为仅在与另一列组合时需要唯一的列添加唯一约束?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20601883/

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