?
This document uses PHP Chinese website manual Release
索引還可以用于強制規(guī)定一個字段數值的唯一性,或者是多個字段組合值的唯一性。
CREATE UNIQUE INDEX name ON table (column [, ...]);
目前,只有B-tree索引可以聲明為唯一。
如果索引聲明為唯一的,那么就不允許出現多個索引值相同的行。NULL值被認為互不相等。 一個多字段唯一索引認為只有多行數據里所有被索引字段都相同才是相同的,這種數據才被拒。
如果一個表聲明了唯一約束或者主鍵, 那么PostgreSQL自動在組成主鍵或唯一約束的字段上創(chuàng)建唯一索引(可能是多字段索引),以強制規(guī)定這些約束。
Note: 一個給表增加唯一約束更好的方法是ALTER TABLE ... ADD CONSTRAINT。 用索引強制唯一約束應該認為是一個實現細節(jié),而不應該直接訪問。 不過,我們應該知道沒有必要在唯一字段上建立索引,那樣做只會重復建立自動創(chuàng)建的索引。