当我们插入一条数据的时候,我们很多时候都想立刻获取当前插入的主键值返回以做它用。我们通常的做法有如下几种:

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>

最新文章

  1. jsp重定向和转发
  2. UDP信息接收与发送
  3. SpringAop学习
  4. 初识MFC学习——Hello World
  5. Android color(颜色) 在XML文件和java代码中
  6. 编程小计——消除Graphics图像边缘颜色不纯(抗锯齿)
  7. JS实现常用的分享到按钮
  8. 了解mongoDB存储结构
  9. 移动端 -webkit-user-select:text; ios10 bug 解决方案
  10. dedecms文章页调用上一篇和下一篇文章
  11. python 模块 wmi 远程连接 windows 获取配置信息
  12. python基础 (序列化,os,sys,random,hashlib)
  13. 在eclipse中使用Tomcat时出现Could not publish server ...错误
  14. 关于ADC采集
  15. Hibernate框架第一天
  16. Azure Messaging-ServiceBus Messaging消息队列技术系列1-基本概念和架构
  17. Overclock STM32F4 device up to 250MHz
  18. WebWorker的浏览器&quot;异步线程&quot;
  19. PHP与MySqli
  20. 读耗子叔的《从Equifax信息泄露看数据安全》

热门文章

  1. 将 sublime test3 添加到鼠标右键的方法
  2. socket.io分布式
  3. ref:【干货分享】PHP漏洞挖掘——进阶篇
  4. 湖南大学ACM程序设计新生杯大赛(同步赛)I - Piglet treasure hunt Series 1
  5. 洛谷P4782 【模板】2-SAT问题 [2-SAT]
  6. nyoj 737 石子合并 http://blog.csdn.net/wangdan11111/article/details/45032519
  7. Google的代码高亮-code-prettify
  8. 「THUWC 2017」随机二分图
  9. 【插头DP】BZOJ3125-city
  10. [HihoCoder1169]猜单词