gpt4 book ai didi

2列组合的sql唯一约束

转载 作者:太空狗 更新时间:2023-10-30 01:54:43 25 4
gpt4 key购买 nike

如何对两列中两个值的组合创建唯一约束。

意义

column1  column2 
2 1

寻找禁止的约束

column1  column2 
1 2

最佳答案

如果您的数据库允许在索引中使用表达式,您可以这样做(ANSI SQL):

CREATE UNIQUE INDEX on your_table (least(column1, column2)
, greatest(column1, column2));

请注意,这是一个唯一的索引,而不是唯一的约束。大多数 DBMS 的唯一区别是您不能将唯一索引作为外键的目标,但除此之外它们的用途相同。

如果您的 DBMS 没有 least()greatest(),您可以使用 CASE 表达式替换它:

create unique index on your_table 
(case column1 < column2 then column1 else column2 end,
case column2 > column1 then column2 else column1 end));

关于2列组合的sql唯一约束,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10159411/

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