insert into表后获得id

转载 2011年01月19日 15:35:00

SQL: insert into 表后获得自动插入的id

 

运行完插入语句insert into后,执行select   @@identity就可得到自动生成的id 

 

Sql代码 

 int temp=0;  

 String sql="insert into tb_order(name) values("+uname+"')";  

connDB.executeUpdate(sql);  

ResultSet rs_o = connDB.executeQuery("select @@IDENTITY as newID");  

while(rs_o.next())  

{  

   temp=rs_o.getInt("newID");  

}  

 

可以取出自动生成的newID. 

 

如果是sql server 最好用select SCOPE_IDENTITY() as id 

因为@@identity全局的 

 

同类似的还有IDENT_CURRENT(‘table’) 

 

IDENT_CURRENT 返回为任何会话和任何作用域中的特定表最后生成的标识值。IDENT_CURRENT 不受作用域和会话的限制,而受限于指定的表。IDENT_CURRENT 返回为任何会话和作用域中的特定表所生成的值。 

@@IDENTITY 返回为当前会话的所有作用域中的任何表最后生成的标识值。 

SCOPE_IDENTITY 返回为当前会话和当前作用域中的任何表最后生成的标识值 

 

SCOPE_IDENTITY 和 @@IDENTITY 返回在当前会话中的任何表内所生成的最后一个标识值。但是,SCOPE_IDENTITY 只返回插入到当前作用域中的值;@@IDENTITY 不受限于特定的作用域。

 

 

http://yintech.javaeye.com/blog/375419

相关文章推荐

如何将sqlserver表中的数据导出sql语句或生成insert into语句

如何将sqlserver表中的数据导出sql语句或生成insert into语句         输入表名,生成插入语句 drop proc proc_insert go create proc ...

如何将sqlserver表中的数据导出sql语句或生成insert into语句

输入表名,生成插入语句 drop proc proc_insert go create proc proc_insert (@tablename varchar(256)) as begin...

MySql中IFNULL、CONCAT和INSERT INTO...SELECT FROM多表复制的介绍

这几天做一个功能,对数据库中存在的数据进行统计,涉及到多表操作,这让我想到之前在实习公司做的功能,都是统计和校验数据,我做的方法就是先将数据查找出来,然后循环操作!在实习公司做功能花了一个星期,然后我...
  • qqHJQS
  • qqHJQS
  • 2015-09-12 00:43
  • 1519

mysql insert into select插入表中的数据与select的数据不一样

同一个动态拼接sql的写法: 使用变量拼接sql的受影响的行为6881(错误), 不使用变量动态拼接sql的受影响的行为6916(正确)。 最后发现是用变量拼接sql中变量中有单引号影响了结果。...

如何将sqlserver表中的数据导出sql语句或生成insert into语句

输入表名,生成插入语句 drop proc proc_insert Go create proc proc_insert (@tablename varchar(256)) as begin...

[Mysql]备份同库中一张表的历史记录 insert into ..select

需求现在有个这么一个需求,mysql中有个表,数据增长的很快,但是呢这个数据有效期也就是1个月,一个月以前的记录不太重要了,但是又不能删除。为了保证这个表的查询速度,需要一个简单的备份表,把数据倒进去...

hibernate中创建表错误: org.hibernate.exception.SQLGrammarException: canot insert into ***** 2011-05-20

hibernate SQLGrammarException 数据库方言 dialect

如何将sqlserver表中的数据导出sql语句或生成insert into语句

drop proc proc_insert go create proc proc_insert (@tablename varchar(256)) as begin set nocount...

mysql insert into 以数组的形式插入表

在项目中用php+mysql,需要插入数据,但是数据库表字段又很长,如果用常规的insert into table (c) values ('dd')的话,将是很长的sql语句,而且一不小心,就弄错了...

INSERT INTO 创建新表

SELECT INTO 和 INSERT INTO SELECT 两种表复制语句       Insert是T-sql中常用语句,Insert INTO table(field1,f...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)