數據庫插入數據返回當前自增主鍵ID值的方法


當我們插入一條數據的時候,我們很多時候都想立刻獲取當前插入的主鍵值返回以做它用。我們通常的做法有如下幾種:

1. 先 select max(id) +1 ,然后將+1后的值作為主鍵插入數據庫;

2. 使用特定數據庫的 auto_increment 特性,在插入數據完成后,使用 select max(id) 獲取主鍵值;

3. 但要獲取此ID,最簡單的方法就是在查詢之后select @@indentity。

sql代碼:

INSERT INTO table_name (.....) VALUES(......)  SELECT @@IDENTITY AS ID;

例如在ibatis中的一種用法(mysql數據庫):

<insert id="insertAppKey" parameterClass="AppKey">
        insert into ali_appkey (PK,AK,SECRET,CREATEDATE,STATE) values(#pk#,#ak#,#secret#,#createdate#,#state#)
        <selectKey resultClass="int" keyProperty="id" >  
              SELECT @@IDENTITY AS id  
        </selectKey> 
    </insert>

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM