繁体   English   中英

多列唯一性的SQL逻辑

[英]SQL logic for multiple column uniqueness

特定

CREATE TABLE table (a TEXT, b TEXT, c TEXT UNIQUE (a, b) );

这个约束是否意味着a OR b必须是唯一的或a AND b

A and B 以下组合有效:

A   B
--- ---
abc def
abc ghi -- 'abc' again, but with different B column
cde ghi -- 'ghi' again, but with different A column

但是您不能再次添加:

abc def

这是您的表定义:

CREATE TABLE table (a TEXT, b TEXT, c TEXT UNIQUE (a, b) );

您的表定义具有复合唯一键UNIQUE (a, b) ,这意味着a and b不应重复,也可以说a and b 唯一对 但是,可以忽略NULL

下面的示例数据说明了这一点:

 a    b   c (doesnt matter)
 -----------
'a'  'b' --- valid
'a'  'b' --- will throw error
'b'  'a' --- valid

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM