获取插入数据库表的数据行的最后一个ID

时间:2011-08-04 23:58:44

标签: asp.net sql vb.net

我正在使用ASP.net将记录添加到表中:

        With SqlDataSource1
            .InsertParameters("Name").DefaultValue = fldName.Value
            .InsertParameters("Email").DefaultValue = Text1.Value
            .InsertParameters("tContent").DefaultValue = taLE.Value
            .Insert()
        End With

我现在意识到我需要获取刚刚添加的记录的id(自动递增1的唯一标识符)。

干杯!

2 个答案:

答案 0 :(得分:3)

使用

SELECT LAST_INSERT_ID();

LAST_INSERT_ID() doc

注意

LAST_INSERT_ID是特定于连接的,因此您不必担心锁定。当您在INSERT之后调用它时,即使在之间提交了另一个INSERT,它也会返回此INSERT 插入的ID。

答案 1 :(得分:2)

看起来你正在使用MySQL。如果您一直在使用SQL Server,我建议使用:

SELECT SCOPE_IDENTITY()

还有其他选择,但它们都有使用的原因: SQL SERVER – @@IDENTITY vs SCOPE_IDENTITY() vs IDENT_CURRENT – Retrieve Last Inserted Identity