1. 创建序列:
CREATE SEQUENCE table_name_id_seq;
2. 将序列与表的列关联:
ALTER TABLE table_name ALTER COLUMN id SET DEFAULT nextval('table_name_id_seq');
3. 设置序列的起始值、递增步长和最大值
- // 将序列的起始值设置为 1
- ALTER SEQUENCE table_name_id_seq START WITH 1;
-
- // 将序列的递增步长设置为 1
- ALTER SEQUENCE table_name_id_seq INCREMENT BY 1;
-
- // 将序列的最大值设置为 10000
- ALTER SEQUENCE table_name_id_seq MAXVALUE 10000;
其他
-
- SELECT MAX(id) FROM app_public.expense_list;
- //查询序列值
- select * from app_public.expense_list_id_seq;
-
- //查询某个表的 自增ID序列
- select pg_get_serial_sequence('app_public.expense_list', 'id');
-
-
- //设置自增序列 方法一 起始值 为199
- select setval('app_public.expense_list_id_seq', 199);
- //is_called 为false 下次nextval(app_public.expense_list_id_seq) 返回值是 200
-
- // 方法二
- ALTER SEQUENCE app_public.expense_list_id_seq RESTART WITH 199;
- // is_called 为false 下次nextval(app_public.expense_list_id_seq) 返回值是当前值 199
用以下命令查看当前序列的值:
使用nextval函数可以返回下一个最新的序列值,并使序列递增。
SELECT nextval('table_name_id_seq');