PostgreSQL BigSerial错误:重复的键值违反了唯一约束“ investigations_pkey” [duplicate]
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了PostgreSQL BigSerial错误:重复的键值违反了唯一约束“ investigations_pkey” [duplicate]相关的知识,希望对你有一定的参考价值。
我正在使用PostgreSQL数据库,我使用QGIS作为前端。
我的一个表使用bigserial作为其主ID的数据类型,这是我的想法,我不必为此字段打扰。前200个左右的条目工作正常,但现在尝试保存新条目时出现以下错误:
> PostGIS error while adding features: ERROR: duplicate key value
> violates unique constraint "investigations_pkey" DETAIL: Key
> (id)=(230) already exists.
我的ID计数器现在已经达到280,但是我必须手动输入最后50个左右的ID。可能某些条目已被删除,现在bigserial的计数器被混淆了。有没有一种方法可以将计数器“重置”为某个数字?
答案
我假设id是serial
列:您可以使用setval
函数将序列设置为某个值(documentation)
关于PostgreSQL serial
列的一个警告是,显式设置列的值没有向前移动相应的序列;这是最不匹配的原因。
以上是关于PostgreSQL BigSerial错误:重复的键值违反了唯一约束“ investigations_pkey” [duplicate]的主要内容,如果未能解决你的问题,请参考以下文章
Postgresql json_array_elements
我应该在新应用程序中使用 Postgres 的 bigserial 记录吗?
如何让 Slick 3 生成 BIGSERIAL 而不是 GENERATED BY DEFAULT AS IDENTITY?