setval
是 PostgreSQL 中用于設置序列值的函數
employees
的表,并包含一個自增主鍵字段 id
:CREATE TABLE employees (
id SERIAL PRIMARY KEY,
name VARCHAR(255) NOT NULL,
age INT NOT NULL
);
在這個例子中,PostgreSQL 會自動為 id
字段創建一個名為 employees_id_seq
的序列。
INSERT INTO employees (name, age) VALUES ('Alice', 30);
INSERT INTO employees (name, age) VALUES ('Bob', 28);
INSERT INTO employees (name, age) VALUES ('Charlie', 32);
此時,employees_id_seq
序列的當前值應該是 3,因為我們插入了 3 條記錄。
setval
函數將 employees_id_seq
序列的值設置為 10:SELECT setval('employees_id_seq', 10);
INSERT INTO employees (name, age) VALUES ('David', 29);
現在,由于我們已經將 employees_id_seq
序列的值設置為 10,新插入的記錄的 id
將從 11 開始,而不是之前的 4。
employees
表以查看結果:SELECT * FROM employees;
輸出結果如下:
id | name | age
----+----------+-----
1 | Alice | 30
2 | Bob | 28
3 | Charlie | 32
11 | David | 29
通過這個實際操作案例,您可以了解如何使用 setval
函數設置 PostgreSQL 序列的值。