获取上次生成的id asp.net

时间:2014-04-16 11:03:11

标签: sql sql-server sql-server-2012

所以我在一个数据库中有2个表(表1和表2)。我想要做的是从第一个表(Table1)获取最后生成的ID(主键)并将其添加到另一个表(Table2)。

enter image description here

enter image description here

例如。表1中的最后一个生成的ID列NRRENDOR为25(我删除了它显示22的行,它是主键)。如果我向Table1添加一行,它将在NRRENDOR列(第一张图片)上生成第26行。但是当表1中的数字26添加到列NRRENDOR时,我希望它也被添加到表2,列NRD(第二张图片)。

2 个答案:

答案 0 :(得分:0)

在将新元素插入第一个表后,您应该使用类似下面的SQL查询。

Insert into table2 (id) values(Select top 1 ID from table1 order by id desc)

这应该适用于sql-server 2008及更新版本。

答案 1 :(得分:0)

来自MySQL参考手册,20.6.14.3 How to Get the Unique ID for the Last Inserted Row

INSERT INTO NRRENDOR (auto, field) VALUES(NULL, 'value'); 

通过插入NULL

生成ID
INSERT INTO NRD (id, field) VALUES(LAST_INSERT_ID(), 'value');

在第二张表中使用ID。

或者,您可以在INSERT进入NRRENDOR后立即手动执行以下查询获取最后一个插入ID

SELECT last_insert_id()

稍后在第二次针对NRD的INSERT查询中使用它。