在sql、oracle中的constrain有兩種約束,都是對列的唯一性限制:unique與primary key,它們的區別如下:
1、unique key要求列唯一,但不包括Null字段,也就是約束的列可以為空且僅要求列中的值除Null之外不會重復即可。
2、primary key也要求列唯一,同時又限制字段的值為not Null,相當於primary key = unique+not null
3、一個表可以有多個unique,但是只能有一個primary key
詳解
unique
UNIQUE 約束唯一標識數據庫表中的每條記錄。
UNIQUE 和 PRIMARY KEY 約束均為列或列集合提供了唯一性的保證。
PRIMARY KEY 擁有自動定義的 UNIQUE 約束。
請注意,每個表可以有多個 UNIQUE 約束,但是每個表只能有一個 PRIMARY KEY 約束。
Primary key
PRIMARY KEY 約束唯一標識數據庫表中的每條記錄。
主鍵必須包含唯一的值。
主鍵列不能包含 NULL 值。
每個表都應該有一個主鍵,並且每個表只能有一個主鍵。
