獲得自動(dòng)增長的MySQL主鍵
作者:佚名
如果需要獲得MySQL數(shù)據(jù)庫中自動(dòng)增長的主鍵,應(yīng)該如何實(shí)現(xiàn)呢?下文對(duì)該功能的實(shí)現(xiàn)方法作了詳細(xì)的介紹供您參考學(xué)習(xí)。
下面的腳本教您如何獲得自動(dòng)增長的MySQL主鍵,如果您對(duì)MySQL主鍵方面感興趣的話,不妨一看,相信對(duì)您學(xué)習(xí)MySQL主鍵方面會(huì)有所啟迪。
- import java.sql.*;
- public class GetKey {
- ResultSet rs = null;
- Connection conn = null;
- Statement stmt = null;
- // 加入同一個(gè)連接發(fā)生其他查詢,Key會(huì)被重寫所以不準(zhǔn)確
- public void getId() {
- try {
- getConnect gc = new getConnect();
- conn = gc.getconn();
- Statement stmt = conn.createStatement();
- stmt.executeUpdate("insert into tb (name) values ('Key')");
- rs = stmt.executeQuery("SELECT LAST_INSERT_ID()");
- int autoIncKeyFromFunc = -1;
- if (rs.next()) {
- autoIncKeyFromFunc = rs.getInt(1);
- System.out.println("autoIncKeyFromFunc: " + autoIncKeyFromFunc);
- }
- } catch (Exception e) {
- System.out.print("有異常發(fā)生!");
- }
- }
- // getGeneratedKeys()是每次創(chuàng)建一個(gè)Statement 實(shí)例,所以是安全的!
- public void getId_() {
- try {
- getConnect gc = new getConnect();
- conn = gc.getconn();
- stmt = conn.createStatement(java.sql.ResultSet.TYPE_FORWARD_ONLY,
- java.sql.ResultSet.CONCUR_UPDATABLE);
- stmt.executeUpdate("insert into tb (name) values ('x')");
- int autoIncKeyFromApi = -1;
- rs = stmt.getGeneratedKeys();
- if (rs.next()) {
- autoIncKeyFromApi = rs.getInt(1);
- System.out.println("Key returned from getGeneratedKeys():"
- + autoIncKeyFromApi);
- }
- } catch (Exception e) {
- System.out.print("有異常發(fā)生!");
- }
- }
- public static void main(String[] args) {
- GetKey get = new GetKey();
- get.getId();
- get.getId_();
- }
- }
【編輯推薦】
責(zé)任編輯:段燃
來源:
互聯(lián)網(wǎng)