PG库创建自增ID
PG库创建自增ID
1、创建序列
创建了一个名为oam_wm_device_check_id_seq的序列对象,用于生成自增数字。这个序列从1开始,每次增加1,没有最小值和最大值限制,且不预先缓存多个值(每次只缓存1个)。
CREATE SEQUENCE oam_wm_device_check_id_seq
START WITH 1 -- 序列从1开始
INCREMENT BY 1 -- 每次增加1
NO MINVALUE -- 不设置最小值限制
NO MAXVALUE -- 不设置最大值限制
CACHE 1; -- 每次只缓存1个序列值
2、绑定到对应表的ID
ALTER TABLE oam_wm_device_check
ALTER COLUMN id SET DEFAULT nextval('oam_wm_device_check_id_seq'::regclass);
3、实现效果说明
将oam_wm_device_check表的id列的默认值设置为从刚创建的序列中获取下一个值。这样当向表中插入新记录时,如果没有指定id值,系统会自动从序列中获取下一个值作为id。
整体效果是:为oam_wm_device_check表创建了一个自增ID机制,当插入数据时不指定ID值,系统会自动分配一个递增的数字作为ID
相关知识
1、查看表字段关联的序列
SELECT table_name,"column_name",column_default
FROM information_schema.columns
WHERE column_default LIKE '%nextval%';
2、查询某序列的当前基本信息
SELECT * FROM pg_sequences WHERE sequencename = 'oam_wm_device_check_id_seq';
3、重置序列
ALTER SEQUENCE 序列名 RESTART WITH 新值;