程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> MYSQL數據庫 >> MySQL綜合教程 >> 獲得自動增長的MySQL主鍵

獲得自動增長的MySQL主鍵

編輯:MySQL綜合教程

下面的腳本教您如何獲得自動增長的MySQL主鍵,如果您對MySQL主鍵方面感興趣的話,不妨一看,相信對您學習MySQL主鍵方面會有所啟迪。

  1. import java.sql.*;  
  2.  
  3. public class GetKey {  
  4.     ResultSet rs = null;  
  5.     Connection conn = null;  
  6.     Statement stmt = null;  
  7.  
  8.     // 加入同一個連接發生其他查詢,Key會被重寫所以不准確  
  9.     public void getId() {  
  10.         try {  
  11.             getConnect gc = new getConnect();  
  12.             conn = gc.getconn();  
  13.             Statement stmt = conn.createStatement();  
  14.             stmt.executeUpdate("insert into tb (name) values ('Key')");  
  15.             rs = stmt.executeQuery("SELECT LAST_INSERT_ID()");  
  16.             int autoIncKeyFromFunc = -1;  
  17.             if (rs.next()) {  
  18.                 autoIncKeyFromFunc = rs.getInt(1);  
  19.                 System.out.println("autoIncKeyFromFunc: " + autoIncKeyFromFunc);  
  20.             }  
  21.         } catch (Exception e) {  
  22.             System.out.print("有異常發生!");  
  23.         }  
  24.     }  
  25.  
  26.     // getGeneratedKeys()是每次創建一個Statement 實例,所以是安全的!  
  27.     public void getId_() {  
  28.         try {  
  29.             getConnect gc = new getConnect();  
  30.             conn = gc.getconn();  
  31.             stmt = conn.createStatement(java.sql.ResultSet.TYPE_FORWARD_ONLY,  
  32.                     java.sql.ResultSet.CONCUR_UPDATABLE);  
  33.             stmt.executeUpdate("insert into tb (name) values ('x')");  
  34.             int autoIncKeyFromApi = -1;  
  35.             rs = stmt.getGeneratedKeys();  
  36.             if (rs.next()) {  
  37.                 autoIncKeyFromApi = rs.getInt(1);  
  38.                 System.out.println("Key returned from getGeneratedKeys():"  
  39.                         + autoIncKeyFromApi);  
  40.             }  
  41.         } catch (Exception e) {  
  42.             System.out.print("有異常發生!");  
  43.         }  
  44.     }  
  45.  
  46.     public static void main(String[] args) {  
  47.         GetKey get = new GetKey();  
  48.         get.getId();  
  49.         get.getId_();  
  50.     }  
  51. }  

MySQL主鍵的設計原則

MySQL分區的優點

Mysql分區表對函數的限制

定義MySQL事務的例子

創建MySQL存儲過程示例

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved