常常需要在编程的时候获取当前表的下一个自增的ID值,因为表可能被删除之后造成最大的Max(ID) + 1并不是下一条ID的值,所以需要使用其他办法。通过查询Mysql的文档,会发现Mysql里面有一个函数叫做getLastInsertID,用来获取最后插入的表的ID值,但是对获取下一条插入的自增ID并没有太多帮助。
1. 方法1
插入一条测试记录,然后删除掉,获取ID。不再赘述。
2. 方法2
利用Mysql自带的一个函数语句 "SHOW TABLE STATUS",可以获取当前数据库里的所有表的属性等信息,通常用来做数据库的优化和维护。如果需要指定某一张表的话,可以通过两种方法指定。
一种是网上给出来的:
show table status like 'TableName'
另外就是常见的where语句
show table status where Name ='TableName'
得到的结果集里面有一列AUTO_INCREMENT,是一个Int值变量,获取之后就是下一个要插入的ID了。
参考:
1. Obtaning next MySQL auto-increment ID for J2EE CMP ejbCreate method http://jpgeek.blogspot.com/2007/06/obtaning-next-mysql-auto-increment-id.html