?
Dieses Dokument verwendet PHP-Handbuch für chinesische Websites Freigeben
索引還可以用于強(qiáng)制規(guī)定一個(gè)字段數(shù)值的唯一性,或者是多個(gè)字段組合值的唯一性。
CREATE UNIQUE INDEX name ON table (column [, ...]);
目前,只有B-tree索引可以聲明為唯一。
如果索引聲明為唯一的,那么就不允許出現(xiàn)多個(gè)索引值相同的行。NULL值被認(rèn)為互不相等。 一個(gè)多字段唯一索引認(rèn)為只有多行數(shù)據(jù)里所有被索引字段都相同才是相同的,這種數(shù)據(jù)才被拒。
如果一個(gè)表聲明了唯一約束或者主鍵, 那么PostgreSQL自動(dòng)在組成主鍵或唯一約束的字段上創(chuàng)建唯一索引(可能是多字段索引),以強(qiáng)制規(guī)定這些約束。
Note: 一個(gè)給表增加唯一約束更好的方法是ALTER TABLE ... ADD CONSTRAINT。 用索引強(qiáng)制唯一約束應(yīng)該認(rèn)為是一個(gè)實(shí)現(xiàn)細(xì)節(jié),而不應(yīng)該直接訪問(wèn)。 不過(guò),我們應(yīng)該知道沒(méi)有必要在唯一字段上建立索引,那樣做只會(huì)重復(fù)建立自動(dòng)創(chuàng)建的索引。