当前位置: 技术问答>java相关
last_insert_id()准确吗?
来源: 互联网 发布时间:2017-03-11
本文导语: 我学习用JDBC联接Mysql,Bean中有一个Save(Objecj obj)的方法,见到片断代码如下: String sql = "INSERT INTO fields(p_id, type_id, p_date) VALUES(?,?,?)"; pstmt = conn.prepareStatement(sql); pstmt.setInt(1, fields.getP_id()); pstmt.setInt(2, fields....
我学习用JDBC联接Mysql,Bean中有一个Save(Objecj obj)的方法,见到片断代码如下:
String sql = "INSERT INTO fields(p_id, type_id, p_date) VALUES(?,?,?)";
pstmt = conn.prepareStatement(sql);
pstmt.setInt(1, fields.getP_id());
pstmt.setInt(2, fields.getType_id());
pstmt.setString(3, fields.getP_date());
pstmt.executeUpdate();
pstmt.close();
sql = "SELECT last_insert_id()";
pstmt = conn.prepareStatement(sql);
ResultSet rs = pstmt.executeQuery();
...
请高手指教,如上情况下,连续执行插入操作和查询操作,能否得到刚刚插入数据的id号?如果是多人同时调用此方法,Mysql是否也有任务的等待?
String sql = "INSERT INTO fields(p_id, type_id, p_date) VALUES(?,?,?)";
pstmt = conn.prepareStatement(sql);
pstmt.setInt(1, fields.getP_id());
pstmt.setInt(2, fields.getType_id());
pstmt.setString(3, fields.getP_date());
pstmt.executeUpdate();
pstmt.close();
sql = "SELECT last_insert_id()";
pstmt = conn.prepareStatement(sql);
ResultSet rs = pstmt.executeQuery();
...
请高手指教,如上情况下,连续执行插入操作和查询操作,能否得到刚刚插入数据的id号?如果是多人同时调用此方法,Mysql是否也有任务的等待?
|
last_insert_id()是针对connection的,即last_insert_id()得到的是当前connection插入操作产生的id
您可能感兴趣的文章:
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。