根据使用Java的数据库中的最大ID生成下一个Id

时间:2014-05-03 10:15:41

标签: mysql jsp servlets

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

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

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

我该怎么办?

2 个答案:

答案 0 :(得分:1)

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

http://dev.mysql.com/doc/refman/5.6/en/example-auto-increment.html

检查MySQL参考

答案 1 :(得分:0)

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