【问题标题】:Generate next Id as per the max id in database using Java使用Java根据数据库中的最大ID生成下一个ID
【发布时间】:2014-05-03 10:15:40
【问题描述】:

我正在开发一个 Web 应用程序。它将有多个用户。我正在使用 mysql 作为数据库。

在我的应用程序中,我正在获取最新的 id (from the database, using max(id)) ,然后为新注册生成下一个 id。这种方法是不正确的,因为 id 可能会在我更新 id 之间发生变化 我要最新的身份证。我google了一下,发现"last_insert_id()"

但是,我尝试了"SELECT last_insert_id() FROM rdtype ",但它给出的 0 与记录数相同。

我应该如何进行?

【问题讨论】:

  • 只是“SELECT LAST_INSERT_ID();”
  • 查看this 答案可能对您有所帮助。

标签: mysql jsp servlets


【解决方案1】:

您应该使用 AUTO_INCREMENT 属性作为 id。 MySQL 将在每次插入时处理递增的 ID。 AUTO_INCREMENT 属性可用于为新行生成唯一标识。

http://dev.mysql.com/doc/refman/5.6/en/example-auto-increment.html查看 MySQL 参考

【讨论】:

    【解决方案2】:

    我正在使用 Hibernate 进行数据库连接并且可以正常工作。我的数据库中有两列,一列是 ID(生成器类型是增量,通过休眠),另一列是注册 ID。我正在获取最大 ID,然后获取该最大 ID 的注册 ID,然后将该注册 ID 添加 1 以获得新的注册 ID....此外,我需要在将其保存到数据库之前获取这个新的注册 ID .

    【讨论】:

      猜你喜欢
      • 2014-06-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-11-24
      • 1970-01-01
      • 1970-01-01
      • 2012-04-26
      • 2020-06-09
      相关资源
      最近更新 更多