gpt4 book ai didi

sql - 在SQL中我怎么能有两个不能完全相同的字段,只有一个是主键

转载 作者:行者123 更新时间:2023-11-29 04:04:43 25 4
gpt4 key购买 nike

我正在使用 MySQL,我有三个表,一个任务表,一个产品表和一个描述两者之间关系的表:每个产品由多个任务组成,每个任务可能在多个产品。

描述两者关系的表有两个主键,ProductID和TaskID,也是外键。在此表中,我有一个名为 TaskOrder 的字段,对于给定的产品,它列出了任务必须执行的顺序。

我想说的是,对于任何产品,您不能有两个具有相同 TaskOrder 的任务,但是我不能只将 TaskOrder 设置为唯一,因为不同的产品将(并且应该)具有重复的 TaskOrder 值

有什么办法吗?

最佳答案

你想要一个 UNIQUE 约束:

create table ProductTasks
( ProductID ...
, TaskId ...
, TaskOrder ...
, primary key (ProductId, TaskId)
, unique (ProductId, TaskOrder)
);

关于sql - 在SQL中我怎么能有两个不能完全相同的字段,只有一个是主键,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/498629/

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