在 PostgreSQL 中,可以通過使用序列(sequence)來保證唯一性。序列是一種對象,用于生成唯一的整數(shù)值。當(dāng)需要插入新的記錄時,可以使用序列來生成唯一的主鍵值。
首先,需要創(chuàng)建一個序列對象,并定義其起始值、增長步長等屬性。例如:
CREATE SEQUENCE my_sequence START 1 INCREMENT 1;
然后,在插入新記錄時,可以通過序列來獲取唯一的主鍵值。例如:
INSERT INTO my_table (id, name) VALUES (nextval('my_sequence'), 'John');
使用 nextval(‘my_sequence’) 函數(shù)來獲取序列的下一個值,并將其作為主鍵值插入到表中。這樣可以保證每次插入的主鍵值都是唯一的。
另外,也可以在表的定義中使用序列作為默認(rèn)值,以自動為主鍵字段生成唯一值。例如:
CREATE TABLE my_table (
id SERIAL PRIMARY KEY,
name TEXT
);
這樣,在插入記錄時,可以不指定主鍵值,系統(tǒng)會自動使用序列生成唯一值。