【发布时间】:2012-02-16 15:49:23
【问题描述】:
我已经看到了在序列与其生成的主键不同步时更新序列的解决方案,但我不明白这个问题最初是如何发生的。
有没有人了解主键字段(其默认定义为序列的 nextval,其主键未在任何地方明确设置)如何与序列不同步?我正在使用 Postgres,我们时不时会看到这种情况。当序列为现有行生成 id 时,它最终会导致重复键约束。
【问题讨论】:
-
经过一些研究,在我的特殊情况下,它实际上是一个 Hibernate 映射,它生成了自己的 ID 并忽略了序列。不确定在这种情况下我是否应该删除该问题 - 其他人似乎遇到了同样的问题。
-
你可以回答你自己的问题。除非您(或某些中间件)不使用序列为部分或所有行生成主键,否则序列确实没有办法“不同步”。
标签: sql postgresql sequence