关闭

insert into表后获得id

标签: insertsql serversqlstringtable
152人阅读 评论(0) 收藏 举报
分类:

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

0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:12035次
    • 积分:212
    • 等级:
    • 排名:千里之外
    • 原创:8篇
    • 转载:14篇
    • 译文:0篇
    • 评论:1条
    文章分类
    文章存档
    最新评论