【发布时间】:2017-12-15 09:01:16
【问题描述】:
如何选择最后插入的两个 ID?
在这里,我解释了如何使用这些。这是我的查询:
INSERT INTO Table1 (FIELD1, FIELD2, FK_TABLE2, FIELD6)
(SELECT FIELD1, FIELD2
,(SELECT MAX(PK_Table2)
FROM Table2
)
,(FIELD4 + FIELD5) FROM Table1 WHERE FIELD3 = (
(SELECT MAX(PK_Table2)
FROM Table2) - 1
))
对于 table2 的最后一条记录,这应该几乎复制所有链接到 table2 的最后一条记录的记录。
这现在有效,但只是因为我还没有删除记录。
如果我从 table2 中删除最后一条记录并插入另一条记录,我的生成器将生成一个不是 last+1 的新 PK。
例如:最后两个 ID 是:18-19。我删除 19 并插入另一个。现在最后两个 ID 是 18-20。
所以Max(PK_Table2) 将是 20,Max(PK_Table2)-1 将是 19,但我需要它是 18。
【问题讨论】: