既然是自增的数据列,
那么此时插入的这一条数据应该是最后一条,其ID 应该是最大的
可以使用 select max(ID) from table;
但是有一个问题,如果是一个正在使用的有着频繁插入的数据表,
当你执行完你的insert 语句之后,在你执行这条select 语句之前,如果有其他用户又进行了insert 操作,那么,你select 得到的ID,不一定是你这条语句的ID
所有应该使用的 是
inset into 表名(列名,列名,.. ) output inserted.ID values (数据,数据,...);
使用例子:
1.对于INSERT,可以引用inserted表以查询新行的属性.
insert into [表名] (a) OUTPUT Inserted.a values (‘a‘)
2.对于DELETE,可以引用deleted表以查询旧行的属性.
delete [表名] OUTPUT deleted.a where links = ‘a‘
3.对于UPDATE,使用deleted表查询被更新行在更改前的属性,用inserted表标识被更新行在更改后的值.
update [表名] set a = ‘b‘ OUTPUT Inserted.a where a = ‘a‘(返回修改后的值)
update [表名] set a = ‘b‘ OUTPUT deleted.a where a = ‘a‘ (返回修改前的值)
时间: 2024-10-15 03:59:09