gpt4 book ai didi

MySQL选择最后两个插入的ID

转载 作者:行者123 更新时间:2023-11-29 06:50:11 24 4
gpt4 key购买 nike

如何选择最后插入的两个 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
))

对于表 2 的最后一条记录,这几乎应该复制链接到表 2 的最后一条记录以外的所有记录。

这现在有效,但只是因为我还没有删除记录。

如果我从 table2 中删除最后一条记录并插入另一条记录,我的生成器将生成一个不是最后+1 的新 PK。

例如:最后两个 ID 是:18-19。我删除 19 并插入另一个。现在最后两个ID是18-20。
因此,Max(PK_Table2) 将为 20,Max(PK_Table2)-1 将为 19,但我需要它为 18。

最佳答案

您需要执行以下步骤:

  1. 获取最大 ID
  2. 获取小于该值的最大 ID

这将是:

WHERE FIELD3 = 
(
SELECT MAX(PK_Table2) FROM Table2
WHERE PK_Table2 < (SELECT MAX(PK_Table2) FROM Table2)
)

另一种方法:获取最后两个,然后获取倒数第二个。

WHERE FIELD3 = 
(
SELECT PK_Table2
FROM (SELECT PK_Table2 FROM Table2 ORDER BY PK_Table2 DESC LIMIT 2) x
ORDER BY PK_Table2 LIMIT 1
)

关于MySQL选择最后两个插入的ID,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47828902/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com