簡體   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