【问题标题】:IDs get incremented after Transaction rollback in SQL在 SQL 中的事务回滚后,ID 会增加
【发布时间】:2020-12-31 20:30:35
【问题描述】:

我有一个使用 SQL 数据库的 Spring 应用程序。在应用程序中,我对事务使用回滚。当发生异常时,事务会按原样回滚,并且所有创建的行都会回滚。但是,ID 会不断增加。

例如,如果它插入 ID 5、6、7,然后回滚所有内容,尽管下次回滚 ID 从 8 开始。我希望它从 5 开始。

有没有办法处理这个问题,以便 ID 计数器也回滚?这在 NoSQL 数据库中可行吗?

【问题讨论】:

标签: sql transactions


【解决方案1】:

像 SEQUENCE 或 IDENTITY 这样的自动增量永远不会重新生成,因为其他一些会话可以在连续性中采用新值

这是 SQL 标准,每个 RDBMS 都有相同的行为。

【讨论】:

    猜你喜欢
    • 2018-08-08
    • 2010-09-21
    • 2019-07-25
    • 2020-01-12
    • 1970-01-01
    • 1970-01-01
    • 2014-09-29
    • 2019-08-13
    • 1970-01-01
    相关资源
    最近更新 更多