nextval
是一个 PostgreSQL 数据库函数,用于为一个序列生成新的唯一值。要在多个表中使用 nextval
,你需要创建一个序列,然后在需要的表中引用这个序列。以下是一个简单的示例:
CREATE SEQUENCE global_sequence;
nextval
函数:CREATE TABLE table1 (
id INTEGER PRIMARY KEY DEFAULT nextval('global_sequence'),
name VARCHAR(255) NOT NULL
);
nextval
函数:CREATE TABLE table2 (
id INTEGER PRIMARY KEY DEFAULT nextval('global_sequence'),
description TEXT NOT NULL
);
现在,当你向 table1
和 table2
插入新记录时,它们将共享相同的序列(global_sequence
),从而确保每个表中的 id
字段具有全局唯一性。
例如,向 table1
插入一条记录:
INSERT INTO table1 (name) VALUES ('John Doe');
向 table2
插入一条记录:
INSERT INTO table2 (description) VALUES ('This is a sample description');
这样,table1
和 table2
中的 id
字段将使用相同的序列生成值,确保在两个表中都保持唯一。