国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Java > 正文

Java獲取最后插入MySQL記錄的自增ID值的3種方法

2019-11-26 16:01:16
字體:
來源:轉載
供稿:網友

方法一:

復制代碼 代碼如下:

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

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 扬中市| 河北区| 宜君县| 祁阳县| 康平县| 额敏县| 南陵县| 长兴县| 皋兰县| 朝阳区| 海丰县| 五常市| 北海市| 精河县| 全椒县| 衡阳县| 南乐县| 冀州市| 会泽县| 遵义市| 桓仁| 鸡泽县| 新闻| 南雄市| 无棣县| 安西县| 周宁县| 台湾省| 湟中县| 阜平县| 绍兴市| 固安县| 墨竹工卡县| 东乡县| 阳信县| 沂南县| 咸阳市| 靖州| 玉门市| 台中市| 台中市|