数据库插入数据返回当前自增主键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