Java获取最后插入MySQL记录的自增ID值方法
2013-08-09 14:12
696 查看
方法一:
方法二:
方法三:
参考:http://dev.mysql.com/doc/refman/5.1/zh/connectors.html#cj-basic-jdbc
http://bbs.csdn.net/topics/320205263
http://www.gogogogo.me/development/getGeneratedKeys.html
http://blog.csdn.net/skyhackvip/article/details/5538868
String sql = "INSERT INTO users (username,password,email) VALUES (?,?,?);"; PreparedStatement pstmt = (PreparedStatement) conn.prepareStatement(sql,Statement.RETURN_GENERATED_KEYS);//传入参数:Statement.RETURN_GENERATED_KEYS pstmt.setString(1, user.getUsername()); pstmt.setString(2, user.getPassword()); pstmt.setString(3, user.getEmail()); pstmt.executeUpdate();//执行sql int autoInckey = -1; ResultSet rs = pstmt.getGeneratedKeys(); //获取结果 if (rs.next()) { autoIncKey = rs.getInt(1);//取得ID } else { // throw an exception from here }
方法二:
SELECT MAX(id) FROM table 该方法在多线程等情况下可能会造成不正确。
方法三:
SELECT LAST_INSERT_ID() 或者 SELECT @@INDENTITY 这两个都是单个连接的,不存在所谓的两个人都同时插入,分不清的问题 唯一的问题是,如果一句INSERT插入多条,返回的是第一个ID
参考:http://dev.mysql.com/doc/refman/5.1/zh/connectors.html#cj-basic-jdbc
http://bbs.csdn.net/topics/320205263
http://www.gogogogo.me/development/getGeneratedKeys.html
http://blog.csdn.net/skyhackvip/article/details/5538868
相关文章推荐
- Java获取最后插入MySQL记录的自增ID值的3种方法
- Java获取最后插入MySQL记录的自增ID值的3种方法
- Mysql中获取刚插入的自增长id的三种方法归纳
- hibernate中获取使用mysql当前插入一条记录的id值
- mongoDB 获取最后插入的文档的ObjectID/_id方法
- java 插入表记录后得到自增的id (转) (附3种方法代码)
- 如何插入一条记录获取插入后的自动增长ID列的方法.
- MySQL使用LAST_INSERT_ID()获取新插入记录的ID
- MySql获取插入记录自增主键ID值
- Mysql中获取刚插入的自增长id的三种方法归纳
- Mysql中获取刚插入的自增id的三种方法
- PHP获取MySql新增记录ID值的3种方法
- MySQL 获取最后插入的ID LAST_INSERT_ID用法
- 【mysql】避免重复插入记录,并获取该重复记录的id?
- mongoDB 获取最后插入的文档的ObjectID/_id方法
- PHP获取MySql新增记录ID值的3种方法
- last_insert_id()获取mysql最后一条记录ID
- PHP获取MySql新增记录ID值的3种方法
- Mysql中获取新插入的自增id的三种方法
- mysql更新语句获取受影响行数和插入记录id