国产探花免费观看_亚洲丰满少妇自慰呻吟_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

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 大田县| 江孜县| 安泽县| 京山县| 神池县| 斗六市| 遵义市| 师宗县| 秦皇岛市| 孙吴县| 资讯 | 大安市| 富民县| 葵青区| 邹平县| 女性| 无锡市| 巫溪县| 同德县| 汾西县| 衡水市| 拜泉县| 上犹县| 建宁县| 宁晋县| 民权县| 淮安市| 门源| 雷波县| 牡丹江市| 马公市| 太保市| 诸城市| 武隆县| 威信县| 宽甸| 临颍县| 苏尼特右旗| 阜城县| 孝昌县| 合作市|