如何在PostgreSQL中设置序列类型的值?
如何在PostgreSQL中设置序列类型的值?
这个问题已经有答案了:
我的表中有一个主键,如下所示:
CREATE TABLE a ( id serial NOT NULL, valuea citext NOT NULL, CONSTRAINT a_pkey PRIMARY KEY (id), );
表中有以下行:
id value 198 b 199 j
我不小心做了这个插入
Insert Into a(id,valuea) values (200,'hello');
现在,当我试图以正确的方式做另一个插入时:
Insert Into a(valuea) values ('b');
我期望它插入(201,b),但序列计数器不知道200已经被使用,因为最后一个手动插入。
我得到:
ERROR: 重复键值违反唯一约束条件
\"a_pkey\" DETAIL: 键(id)=(200)已经存在。
我理解这个错误..基本上是因为我的最后一个插入没有使用序列,因此它的计数器没有上升。
我不知道的是如何解决这个问题?
我该如何告诉序列计数器从201开始?
admin 更改状态以发布 2023年5月22日