所以我在一个数据库中有2个表(表1和表2)。我想要做的是从第一个表(Table1)获取最后生成的ID(主键)并将其添加到另一个表(Table2)。
例如。表1中的最后一个生成的ID列NRRENDOR为25(我删除了它显示22的行,它是主键)。如果我向Table1添加一行,它将在NRRENDOR列(第一张图片)上生成第26行。但是当表1中的数字26添加到列NRRENDOR时,我希望它也被添加到表2,列NRD(第二张图片)。
答案 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
生成IDINSERT INTO NRD (id, field) VALUES(LAST_INSERT_ID(), 'value');
在第二张表中使用ID。
或者,您可以在INSERT进入NRRENDOR后立即手动执行以下查询获取最后一个插入ID
SELECT last_insert_id()
稍后在第二次针对NRD的INSERT查询中使用它。