`

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

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

  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 不受限于特定的作用域。
分享到:
评论

相关推荐

    PHP+MySQL之Insert Into数据插入用法分析

    INSERT INTO 语句用于向数据库表中插入新纪录。 向数据库表插入数据 INSERT INTO 语句用于向数据库表添加新纪录。 语法: INSERT INTO table_name VALUES (value1, value2,....) 您还可以规定希望在其中插入数据的...

    数据库数据转成insert sql语句工具

    将数据库数据转换成insert sql语句,目前只在sql server测试过。 在SqlData2Insert.exe.config文件中修改连接数据库, ;Initial Catalog=DW;User Id=sa;Password=123"/> Data Source后面是数据库地址,Initial...

    SQL获取刚插入的记录的自动增长列ID的值

     insert into TestTable (CreatedDate) output inserted.id values (getdate())  SQL2000获得新增行的自动增长列的语句如下:  insert into TestTable (CreatedDate) values (getdate())  select @@...

    oracle通过1条语句插入多个值的方法示例

    insert into 表1 (字段1,字段2) values (1,2),(2,3),(3,4); 这条语句在mysql中执行的话,语法一点毛病都没有,但是,在oracle上执行一直报错: ORA-00933: SQL 命令未正确结束 后来有了如下的解决办法: /* --一...

    SQL 在自增列插入指定数据的操作方法

    SQL Server 中数据表往往会设置自增列,常见的比如说 首列的ID列。 往数据表插入新数据的时候,自增列是跳过的,无需插入即会按照设置的自增规则进行列增长。那么,如果我们想往自增列插入我们指定的数据时该怎么做...

    MySQL 关于表复制 insert into 语法的详细介绍

    web开发中,我们经常需要将一个表的数据插入到另外一个表,有时还需要指定导入字段,设置只需要导入目标表中不存在的记录,虽然这些都可以在程序中拆分成简单sql来实现,但是用一个sql的话,会节省大量代码。...

    解决Hibernate JPA中insert插入数据后自动执行select last_insert_id()

    在插入数据后SQL执行日志中会多出一条select语句: 代码如下:Hibernate: insert into click_statstic (logDate, memoId, src, typeId) values (?, ?, ?, ?)Hibernate: select last_insert_id()表中有个主键是自增列...

    SQL server 自增ID–序号自动增加的字段操作

    1、SQL server中创建表,带有自增列。 create table Test_Table(Id int Identity(1,1), Name varchar(20)); 这里用到了IDENTITY 关键字。IDENTITY(a,b),a b均为正整数,a表示开始数,b表示步长。 IDENTITY(1,1)就...

    sqlinsert:eclipse sql-insert插件的回购

    欢迎使用sqlinsert Wiki!介绍该Eclipse插件旨在允许您从SQL查询中将结果集导出为一组SQL Insert语句。 这对于创建数据库脚本以将数据复制到新数据库很有用。 基本标准功能在标准的Eclipse中不可用,希望很快会添加...

    MySql insert插入操作的3个小技巧分享

    现想将表B中colb>1000的记录都插入表A中,SQL语句可以这样写: 代码如下: insert into A(id,cola) select id,cola from B where colb>1000  2.插入时排除(忽略)重复记录 现表A中有一部分记录了,再做如1中的...

    常用的sql语句-收藏学习备用.docx

    常用的sql语句 当需要对数据库进行操作时,需要使用SQL(Structured Query Language)语句。下面是一些常用的SQL语句示例: 1. 创建表: ```sql CREATE TABLE customers ( id INT PRIMARY KEY, name VARCHAR(50),...

    从Oracle数据库中读取数据自动生成INSERT语句的方法

    INSERT INTO employees (employee_id, name) VALUES (1, 'Zhangsan'); INSERT INTO employees VALUES (1, 'Shangbo'); 方法2 其实, Oracle 还支持下面的写法,作用和上面的语句完全相同。 INSERT INTO (SELECT ...

    用SQL批量插入数据的存储过程

    2) /*设置循环次数*/ BEGIN WAITFOR DELAY ‘000:00:10’ /*延迟时间10秒*/ INSERT INTO time_by_day (time_id, the_date, the_year, month_of_year, quarter, day_of_month) SELECT TOP 1 time_id + 1 AS time_id,...

    MySQL创建存储过程批量插入10万条数据

    MySQL创建存储过程批量插入10万条数据 存储过程 1、首先防止主键冲突,我们清空表。 TRUNCATE table A_...insert into A_student(id,name) VALUES (i, concat(“陈瓜皮-”, i)); set i = i+1; end while; COMMIT;

    经典SQL语句大全

    一张表,一旦分组 完成后,查询后只能得到组相关的信息。 组相关的信息:(统计信息) count,sum,max,min,avg 分组的标准) 在SQLServer中分组时:不能以text,ntext,image类型的字段作为分组依据 在selecte统计...

    经典全面的SQL语句大全

     插入:insert into table1(field1,field2) values(value1,value2)  删除:delete from table1 where 范围  更新:update table1 set field1=value1 where 范围  查找:select * from table1 where field1 like ...

    sqlserver触发器例子

    一﹕ 触发器是一种特殊的存储过程﹐它不能被显式地调用﹐而是在往表中插入记录﹑更新记录或者删除记录时被自动地激活。所以触发器可以用来实现对表实施复杂的完整性约`束。 二﹕ SQL Server为每个触发器都创建了...

    mysql插入前判断数据是否存在的操作

    INSERT INTO t_topic_vistor(user_id,topic_code) SELECT '218', 'XQ33019920170811142528217' FROM DUAL WHERE NOT EXISTS(SELECT * FROM t_topic_vistor WHERE user_id = 218 and topic_code='XQ...

    数据库操作语句大全(sql)

    一张表,一旦分组 完成后,查询后只能得到组相关的信息。 组相关的信息:(统计信息) count,sum,max,min,avg 分组的标准) 在SQLServer中分组时:不能以text,ntext,image类型的字段作为分组依据 在selecte统计...

    Mysql使用insert插入多条记录 批量新增数据

    INSERT INTO table1 (id,name) VALUES(1,小明,2,小强,3,小杜,4,小李,5,小白); MySQL将会抛出下面的错误 ERROR 1136: Column count doesn't match value count at row 1 而正确的写法应该是这样: INSERT INTO t ...

Global site tag (gtag.js) - Google Analytics