我有一个如下表:
create table my_table
(
"ID" serial not null,
"Name" varchar(500)
);
在不更改表的属性的情况下,是否有任何干净的方法可以将新行插入到该表中(已经有值,所以“ID”不是从 1 开始)使得“ID”列不断增加?目前,如果我在表中插入一个新行Charlie
(不指定 ID 列):
ID | Name
----------------
1 | Alice
2 | Bob
会变成
ID | Name
----------------
1 | Alice
2 | Bob
1 | Charlie
然后当我不断插入时,串行计数器不断增加。有什么办法可以从3开始吗?我试过currval()
,nextval()
和lastval()
,但它们似乎都从 1 开始,即使我已经有一个带有值的序列列。如果我必须最终更改此表的属性,我可以通过任何方式更改它,以便在插入新行时不必担心序列列?