我有一个包含数据的Postgres表,其中主键是由注入数据的代码设置的。假设主键为0..49。
我应该如何指示Postgres在下一次插入时从50开始使用主键列?目前,所有没有设置主键的插入都会产生重复的ID问题,因为它从0开始(我想)。
我有一个包含数据的Postgres表,其中主键是由注入数据的代码设置的。假设主键为0..49。
我应该如何指示Postgres在下一次插入时从50开始使用主键列?目前,所有没有设置主键的插入都会产生重复的ID问题,因为它从0开始(我想)。
SELECT SETVAL('name_of_my_sequence', 49);
示例:创建新序列
CREATE SEQUENCE name_of_my_sequence
INCREMENT 1
MINVALUE 1
MAXVALUE 9223372036854775807
START 49 -- Tell the sequence to start off at 49, so the next insert will be 50.
CACHE 1
nextval('name_of_my_sequence'::regclass)
的值。无论name_of_my_sequence
是什么,它都是您序列的名称。nextval('name_of_my_sequence'::regclass)
的内容,就可以开始使用了!如果遇到任何问题或有其他问题,请告诉我!CREATE SEQUENCE seq_name START 50;
ALTER TABLE table_name ALTER COLUMN column_name SET DEFAULT nextval(seq_name);