gpt4 book ai didi

ruby-on-rails - PostgreSQL 总是创建具有偶数 ID 的记录?

转载 作者:行者123 更新时间:2023-11-29 13:35:27 25 4
gpt4 key购买 nike

出于某种原因,我的 PostgreSQL 9.2 数据库跳过了每条记录的 ID。示例:

用户

1258930
1258932
1258934
1258936

什么会导致这种情况?对解决此问题的正确方向的任何指示表示赞赏。谢谢

最佳答案

评论已经充分涵盖了可能的原因:

  • 多个nextval 调用,一个是default 调用,一个是显式调用;
  • 多个表使用相同的序列
  • 正在回滚的事务

Any pointer in the right direction to resolve this issue is appreciated

您的主要错误是将此视为一个问题。在生成的序列中出现间隙是完全正常的。如果您的数据库崩溃并重新启动,序列中将出现一个间隙。如果事务在分配 ID 后回滚,则会在序列中出现间隙。

您的应用程序必须能够处理此问题。它不应该关心 ID 是什么,只关心它是唯一的。

有关详细信息和提示,如果您需要真正的无缝序列,请参阅 this answer .

关于ruby-on-rails - PostgreSQL 总是创建具有偶数 ID 的记录?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13825748/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com