主キーが複合キー(複数列)の場合のPK制約についてのメモです。
UNIQUEは複合キーの組み合わせに対して
SalesHistoryテーブル
sale_date (PK) | item_no (PK) | count | 解説 |
---|---|---|---|
2019/03/01 | 101 | 20 | |
2019/03/01 | 102 | 7 | sale_dateだけ重複はOK |
2019/03/02 | 101 | 35 | item_noだけ重複はOK |
50 | 両方重複は× |
NOT NULLは複合キーそれぞれに対して
sale_date (PK) | item_no (PK) | count | 解説 |
---|---|---|---|
2019/03/01 | 101 | 20 | |
101 | 35 | sale_dateだけnullでも× | |
2019/03/02 | 35 | item_noだけnullでも× |