_insert_id深入探索MSSQL中last_insert_id的用法(mssql last)
SQL中的last_insert_id(以下简称LID)是一个比较简单的函数,但却非常有用。它可以用于查找使用AUTO_INCREMENT键(或其他类似的功能)生成的最新插入ID的值。它广泛应用于MSSQL(My SQL Server)中的存储过程,也有不少开发者发现它在其他数据库中也能够使用。
在MSSQL中,last_insert_id函数具有以下格式:
LAST_INSERT_ID(tablename)
tablename参数表示要查询最新插入ID的表名。如果表名不正确,则函数将返回NULL值。
几乎所有的插入操作都会返回最新插入ID,但是在某些情况下,你可能想要在函数调用前就获得最新插入ID的值。这时可以使用LID函数。
下面是一个例子:
–建表create table friends(
id tinyint identity primary key,
name varchar(25)
);
–插入数据
insert into friends (name)
values
(‘Harry’), (‘David’), (‘Jon’);
–查询last_insert_id
select last_insert_id(id) as ‘Last Inserted ID’ from friends;
结果:
Last Inserted ID
3
以上结果表明,LID函数已经正确返回了最新插入ID的值。
此外,还有一些简单的步骤可以用来获取最新插入ID的值:
1. 将值放入@LastID变量,并使用scope_identity()将其更新;
set @LastID = scope_identity();
2. 使用isnull函数来判断@LastID的值是否为空,如果是,则使用LID函数获取最新插入ID的值:
set @LastID = isnull (@LastID, last_insert_id());
3. 使用select语句来显示最新插入ID的值:
select @LastID as ‘Last Inserted ID’;
了解了LID函数的用法之后,你就可以灵活使用它来查找使用AUTO_INCREMENT键生成的最新插入ID的值,这将为你的开发过程提供便利。