Java获取最后插入MySQL记录的自增ID值的3种方法
2013-08-09 15:27
866 查看
方法一:
复制代码 代码如下: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
您可能感兴趣的文章:
相关文章推荐
- Java获取最后插入MySQL记录的自增ID值的3种方法
- Java获取最后插入MySQL记录的自增ID值方法
- PHP获取MySql新增记录ID值的3种方法
- PHP获取MySql新增记录ID值的3种方法
- java 插入表记录后得到自增的id (转) (附3种方法代码)
- PHP获取MySql新增记录ID值的3种方法
- PHP获取MySql新增记录ID值的3种方法
- java 插入表记录后得到自增的id (转) (附3种方法代码)
- SQLserver 获取数据表新插入记录ID方法---SCOPE_IDENTITY与@@INDENTITY的区别
- mysql获取插入时自增ID值的方法
- PHP获取MySql新增记录ID值的方法
- MySQL中获取最后插入的自增ID值 LAST_INSERT_ID
- Mysql中获取刚插入的自增长id的三种方法归纳
- JDBC获取新插入记录id的三种方法
- MySql获取插入记录自增主键ID值
- mysql更新语句获取受影响行数和插入记录id
- 三种返回mysql 插入一条记录返回该记录id方法
- Mysql获取id最大值、表的记录总数等相关问题的方法汇总
- Mysql中获取刚插入的自增长id的三种方法归纳
- 【转载】在mysql中获取insert插入数据的id的方法SELECT LAST_INSERT_ID();