如何用SQL语句获得数据库表中插入的最后一条记录的ID?

时间:2021-09-21 21:44:29
如何用SQL语句获得数据库表中插入的最后一条记录的ID?

最好不用存储过程获得

20 个解决方案

#1


up

#2


在insert后马上获得返回即可
select @@identity

#3


用select maximum  或是max就可得到数据库中的最大值,也是最后一条记录了吧,注意一下,你这里最好用一个自增型的变量,记录当前的记录数

#4


Sql语句用(注意中间用分号):  "INSERT INTO ...... ;SELECT @@IDENTITY"
结果集第一行第一列是刚插入那个记录的id

#5


singlepine(小山) 

在insert后马上获得返回即可
select @@identity

是这样吗?
INSERT into Feed (FName) VALUES "0000");select @@identity

#6


SqlCommand cmd = new SqlCommand("INSERT into Feed (FName) VALUES '0000')",cnn);
cmd.ExecuteNonQuery();

cmd.CommandText = "select @@identity";
int _id = (int)cmd.ExecuteScalar();

#7


小山的方法最好。

#8


up

#9


用 singlepine(小山)的最方便

#10


cmd.CommandText = "Insert into TestTable (Other) values (@Other) Select @@identity as AutoIncrease";

cmd.Parameters.Add("@Other","设置你要插入的值...");

int count = (int) cmd.ExecuteScalar();

#11


用select scope_ideneity()这个最好,可以保证在同一事务中的插入的id

#12


singlepine(小山)的方法是正确的!

#13


@@identity

#14


create table table_name (name char(20), age smallint, lname varchar(30))

insert into table_name(name,age,lname) values('zhangsan',20,'test1')
insert into table_name(name,age,lname) values('lisi',15,'test2')
insert into table_name(name,age,lname) values('wangwu',40,'test3')
insert into table_name(name,age,lname) values('yesjoy',80,'test4');select @@identity

为什么结果显示为:
无列名
NULL

请各位给个说法

#15


你压根没有自增的id啊.

#16


create table table_name (id int NOT NULL IDENTITY(1, 1),age smallint, lname varchar(30))

#17


没有自增的id,樓主是個新手吧!
若id你是sql 代碼指定的你不會說還找不到自己剛插入的記錄吧?
select .....where id=[你插入的行的id]

#18


create table table_name (id int identity,name char(20), age smallint, lname varchar(30))

insert into table_name(name,age,lname) values('zhangsan',20,'test1')
insert into table_name(name,age,lname) values('lisi',15,'test2')
insert into table_name(name,age,lname) values('wangwu',40,'test3')
insert into table_name(name,age,lname) values('yesjoy',80,'test4')
select id=@@identity

#19


呵呵,首先你把数据库中的这个表的id设置为自增
然后写你的sql语句,是这样的:
INSERT into Feed (FName) VALUES ('0000')select @@identity

#20


select max(HRID) from Employees

#1


up

#2


在insert后马上获得返回即可
select @@identity

#3


用select maximum  或是max就可得到数据库中的最大值,也是最后一条记录了吧,注意一下,你这里最好用一个自增型的变量,记录当前的记录数

#4


Sql语句用(注意中间用分号):  "INSERT INTO ...... ;SELECT @@IDENTITY"
结果集第一行第一列是刚插入那个记录的id

#5


singlepine(小山) 

在insert后马上获得返回即可
select @@identity

是这样吗?
INSERT into Feed (FName) VALUES "0000");select @@identity

#6


SqlCommand cmd = new SqlCommand("INSERT into Feed (FName) VALUES '0000')",cnn);
cmd.ExecuteNonQuery();

cmd.CommandText = "select @@identity";
int _id = (int)cmd.ExecuteScalar();

#7


小山的方法最好。

#8


up

#9


用 singlepine(小山)的最方便

#10


cmd.CommandText = "Insert into TestTable (Other) values (@Other) Select @@identity as AutoIncrease";

cmd.Parameters.Add("@Other","设置你要插入的值...");

int count = (int) cmd.ExecuteScalar();

#11


用select scope_ideneity()这个最好,可以保证在同一事务中的插入的id

#12


singlepine(小山)的方法是正确的!

#13


@@identity

#14


create table table_name (name char(20), age smallint, lname varchar(30))

insert into table_name(name,age,lname) values('zhangsan',20,'test1')
insert into table_name(name,age,lname) values('lisi',15,'test2')
insert into table_name(name,age,lname) values('wangwu',40,'test3')
insert into table_name(name,age,lname) values('yesjoy',80,'test4');select @@identity

为什么结果显示为:
无列名
NULL

请各位给个说法

#15


你压根没有自增的id啊.

#16


create table table_name (id int NOT NULL IDENTITY(1, 1),age smallint, lname varchar(30))

#17


没有自增的id,樓主是個新手吧!
若id你是sql 代碼指定的你不會說還找不到自己剛插入的記錄吧?
select .....where id=[你插入的行的id]

#18


create table table_name (id int identity,name char(20), age smallint, lname varchar(30))

insert into table_name(name,age,lname) values('zhangsan',20,'test1')
insert into table_name(name,age,lname) values('lisi',15,'test2')
insert into table_name(name,age,lname) values('wangwu',40,'test3')
insert into table_name(name,age,lname) values('yesjoy',80,'test4')
select id=@@identity

#19


呵呵,首先你把数据库中的这个表的id设置为自增
然后写你的sql语句,是这样的:
INSERT into Feed (FName) VALUES ('0000')select @@identity

#20


select max(HRID) from Employees

#21