【问题标题】:Is auto increment guaranteed to keep incrementing?自动增量是否保证不断增加?
【发布时间】:2018-05-07 12:19:22
【问题描述】:

如果我在 h2 中有一个整数列并对其使用自动增量,是否保证始终递增最后插入的值?

-- 如果删除了一些中间行。

-- 如果最后插入的行被删除。

-- 如果使用delete from myTable删除所有行

编辑:我需要继续编号的原因(我希望这是正常行为)是我希望归档旧数据以保持当前表的简短。

【问题讨论】:

    标签: sql database h2 auto-increment


    【解决方案1】:

    保证自动递增的值始终大于前一个值。不能保证总是比最后成功插入的值大一。

    后者需要更多的开销,并且(通常)不值得付出额外的努力。

    【讨论】:

    • 附带说明,如果我们截断表格,编号会重置
    • 我正在寻找 h2 的特殊情况。找不到太多关于此的文档。能否提供一些参考。另外,当您说larger than the previous value 时,是指larger than the highest value currently in db 还是larger than that of the bottom row,(如果我们删除该行可能会改变)?
    猜你喜欢
    • 2010-10-20
    • 1970-01-01
    • 1970-01-01
    • 2011-12-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多