gpt4 book ai didi

mysql - 从没有自动递增的表中获取最后一个主键

转载 作者:行者123 更新时间:2023-12-01 00:34:25 24 4
gpt4 key购买 nike

我有一个有主键的表,出于某种原因,我被建议不要使用 AUTO_INCREMENT 标志。因此,每次我必须插入一个新条目时,我都会搜索主键的最后插入值(最大值)。然后我将它递增 1 以获得新 ID。现在我面临的问题是,当插入第一个条目时,表中没有数据。

任何人都可以建议最佳检查方法如果表中存在数据,如果不将 id 设置为 1 并插入新行,否则从表中获取最后一个 ID,将其递增 1,然后插入新行。

PS:mysql 的新手,所以语法有困难。

最佳答案

根据您的陈述“我搜索主键的最后插入值(最大值)”,我假设您当前正在执行类似这样的操作以获得最大现有 ID:

SELECT MAX(id_column) + 1 FROM my_table

如果您有一个空表,这当然会返回 NULL。在这种情况下,如果没有最大值,只需使用 IFNULL 处理 NULL 以返回 0:

SELECT IFNULL(MAX(id_column), 0) + 1 FROM my_table

如果表没有行,这将输出 1 作为下一个标识符。

关于mysql - 从没有自动递增的表中获取最后一个主键,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59566855/

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