sql语句返回主键SCOPE_IDENTITY()

在sql语句后使用
SCOPE_IDENTITY()

当然您也可以使用 SELECT @@IDENTITY

但是使用
SELECT @@IDENTITY是去全局最新. 有可能取得值不正确.

示例:
insert into dbo.SNS_BlogData(userName) values(‘Santai‘) ;
SELECT SCOPE_IDENTITY()

获取SQL-SERVER数据库insert into操作的主键返回值,SCOPE_IDENTITY

插入一条记录后想要立刻获取其数据表中的主键返回值。这个主键是自动生成的,其实实现的方式有很多,比如再进行一次查询,获取出来。或者在插入数据之前取
出最大值,在最大值上面加一等等,方法很多,但是有些很不方便。
个人感觉最快的方式就是,在插入数据后直接获取主键的值,然后返回过来。
方法如下:

sql语句如下:
INSERT INTO tableName (fieldname ...) values (value ...) SELECT
@@IDENTITY AS returnName;
在sql语句中加入SELECT @@IDENTITY AS returnName;用来获取主键的值.

时间: 2024-11-10 17:31:55

sql语句返回主键SCOPE_IDENTITY()的相关文章

mybatis 实现 insert 语句返回 主键

mybatis 中 insertSelective(example) 语句默认返回并不是 插入记录的主键. 我们可以考虑插入记录主键不直接作为 函数的返回值, 而是体现在改变函数参数 "example", 使其主键等于插入记录的主键. 在insertSelective xml定义中,加入以下代码: <selectKey resultType="Integer" keyProperty="id" >   SELECT last_inse

sql 语句删除主键、更改主键、删除重复列(多列组合)

--alter table HistoryData drop constraint PK_HistoryData alter table HistoryData add constraint PK_HistoryData primary key (CollectionTime,Code) 更改主键 delete from HistoryData where CollectionTime between'2014-09-01 00:00:00' and '2014-11-01 00:00:00'a

sql 语句设置主键

创建表时候 SQL code? 1 2 3 4 CREATE TABLE tb ( id INT IDENTITY(1,1) PRIMARY KEY, ) 添加时候 SQL code? 1 2 ALTER TABLE tb   ADD CONSTRAINT PK_id PRIMARY KEY (id)  去除时候 SQL code? 1 2 alter table tb drop constraint PK_id 

SQL 用于插入返回主键ID,一般和事务用在一起

一个例子保存的例子,用于插入返回主键ID--创建人:By justin Create PROC [dbo].[SaveCustomer] ( @CustomerName varchar(500), @pID int ) as Begin --插入数据 Insert Into Customer( CustomerName, pID ) values( @CustomerName , @pID ) select SCOPE_IDENTITY() End SQL 用于插入返回主键ID,一般和事务用在一

Oracle 在函数或存储过程中执行一条插入语句并返回主键ID值

有时,我们需要往一张表插入一条记录,同时返回主键ID值. 假定主键ID的值都是通过对应表的SEQUENCE来获得,然后进行ID赋值 这里有几种情况需要注意: 1)如果建表语句含有主键ID的触发器,通过触发器来实现主键ID的自增,实现方式如下: INSERT INTO GP_MONTH_BILL ( MONTH, BONUS_VALUE, CUR_WAY, CUR_TIME, STATUS, IS_USE, CREATE_TIME) VALUES ( CUR_MONTH, CUR_BONUS_VA

sql新增后返回主键

对于刚学的人来说有点帮助,新增后返回主键有两种方法: 1,返回自增的主键: 1 INSERT INTO 表名 2 (字段名1,字段名2,字段名3,…) 3 VALUES 4 (值1,值2,值3,…) 5 SELECT @@IDENTITY 2,返回主键也可以返回别的字段看需要:inserted.id这里的id可以是其他字段就是一个字段名,比如还可以返回inserted.name 1 INSERT INTO 表名 2 (字段名1,…) 3 OUTPUT inserted.id 4 VALUES 5

MyBatista主键映射,执行inset返回主键

有点时候,我们的业务需要执行了insert语句后再返回主键,这时可以使用主键映射 首先,定义sql,以MySQL为例 1 <insert id="addUser" useGeneratedKeys="true" keyProperty="user_id" parameterType="com.entity.User"> 2 insert into user(name,xes,age)values('jack','男

MyBatis框架——mybatis插入数据返回主键(mysql、oracle)

向数据库中插入数据时,大多数情况都会使用自增列或者UUID做为主键.主键的值都是插入之前无法知道的,但很多情况下我们在插入数据后需要使用刚刚插入数据的主键,比如向两张关联表A.B中插入数据(A的主键是B的外键),向A表中插入数据之后,向B表中插入数据时需要用到A的主键. 比如添加一个用户,同时返回插入用户后得到的用户id: /** * 添加用户信息 * @param user * @throws Exception */ public int insertUser(User user) thro

解决getJdbcTemplate往oracle数据库中插入数据返回主键出错问题

我们使用Spring中的JdbcDaoSupport往Mysql中插入数据并返回主键代码,我们使用的mysql数据库,主键在数据库中设置为自增长:该类继承自JdbcDaoSupport,所以能直接使用getJdbcTemplate() public int saveUser(String userName,int age,String password){ getJdbcTemplate().update(new PreparedStatementCreator() { public Prepa