Mysql 当 table 为空时查询获取下一个 id
Mysql query to get next id when table is empty
我需要在数据库中获取下一个 ID table 所以我执行此查询
SELECT MAX(`id`) + 1 AS nextId FROM `students`;
并且有效,但在 table 为空时无效,如果 table 为空则 returns "NULL",所以有人可以帮我解决这个问题吗
提前致谢
您可以使用 ISNULL 函数:
SELECT ISNULL(MAX(`id`),0) + 1 AS nextId FROM `students`;
但也许你应该看看 AUTO_INCREMENT https://dev.mysql.com/doc/refman/5.0/en/example-auto-increment.html
在 MySql 中调用函数 IFNULL()
添加条件。一起使用 IF
和 ISNULL
。
SELECT IF(ISNULL(id), 1, MAX(`id`) + 1) AS nextId FROM `students`
这是你的答案的解决方案,但正如大家所建议的,你应该使用自动增量
select
(
CASE
WHEN COUNT(`id`) <= 0 THEN 1
WHEN COUNT(`id`) > 0 THEN MAX(id)
END) AS nextId
from students;
我需要在数据库中获取下一个 ID table 所以我执行此查询
SELECT MAX(`id`) + 1 AS nextId FROM `students`;
并且有效,但在 table 为空时无效,如果 table 为空则 returns "NULL",所以有人可以帮我解决这个问题吗
提前致谢
您可以使用 ISNULL 函数:
SELECT ISNULL(MAX(`id`),0) + 1 AS nextId FROM `students`;
但也许你应该看看 AUTO_INCREMENT https://dev.mysql.com/doc/refman/5.0/en/example-auto-increment.html
在 MySql 中调用函数 IFNULL()
添加条件。一起使用 IF
和 ISNULL
。
SELECT IF(ISNULL(id), 1, MAX(`id`) + 1) AS nextId FROM `students`
这是你的答案的解决方案,但正如大家所建议的,你应该使用自动增量
select
(
CASE
WHEN COUNT(`id`) <= 0 THEN 1
WHEN COUNT(`id`) > 0 THEN MAX(id)
END) AS nextId
from students;