数据库插入数据返回当前自增主键ID值的方法
2015-07-23 11:08
585 查看
当我们插入一条数据的时候,我们很多时候都想立刻获取当前插入的主键值返回以做它用。我们通常的做法有如下几种:
1. 先 select max(id) +1 ,然后将+1后的值作为主键插入数据库;
2. 使用特定数据库的 auto_increment 特性,在插入数据完成后,使用 select max(id) 获取主键值;
3. 但要获取此ID,最简单的方法就是在查询之后select @@indentity。
sql代码:
例如在ibatis中的一种用法(mysql数据库):
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>
相关文章推荐
- MongoDB笔记一之数据类型
- Oracle删除归档日志
- oracle下载地址
- Oracle 11g R2之Dataguard搭建物理standby
- HBase 和RDBMS(关系数据库)的比较
- SQLite数据库及其使用实例
- redis file mapping
- Linux安装配置mongodb
- oracle中的sql语句中timestamp与字符串转换
- excel 导入数据库 / SSIS 中 excel data source --64位excel 版本不支持-- solution
- oracle入库时对Date类型的要求
- Redhat6.5 安装MySQL5.6集群
- SQLIO 磁盘测试工具参考
- 数据库崩溃,利用备份和日志进行灾难恢复
- sql语法:inner join on, left join on, right join on详细使用方法
- MS access sql injection cheat sheet -version 0.2
- 设立sql语句在控制台的输出
- Spark SQL
- ofbiz数据库表结构设计
- ofbiz数据库表结构设计(1)- PARTY