给予
CREATE TABLE table (a TEXT, b TEXT, c TEXT UNIQUE (a, b) );
此约束是否意味着a OR b
必须是唯一的或a AND b
?
答案 0 :(得分:2)
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
答案 1 :(得分:1)
这是您的表定义:
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