在 PostgreSQL 中,可以通过使用序列(sequence)来保证唯一性。序列是一种对象,用于生成唯一的整数值。当需要插入新的记录时,可以使用序列来生成唯一的主键值。
首先,需要创建一个序列对象,并定义其起始值、增长步长等属性。例如:
CREATE SEQUENCE my_sequence START 1 INCREMENT 1;
然后,在插入新记录时,可以通过序列来获取唯一的主键值。例如:
INSERT INTO my_table (id, name) VALUES (nextval('my_sequence'), 'John');
使用 nextval(‘my_sequence’) 函数来获取序列的下一个值,并将其作为主键值插入到表中。这样可以保证每次插入的主键值都是唯一的。
另外,也可以在表的定义中使用序列作为默认值,以自动为主键字段生成唯一值。例如:
CREATE TABLE my_table (
id SERIAL PRIMARY KEY,
name TEXT
);
这样,在插入记录时,可以不指定主键值,系统会自动使用序列生成唯一值。