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()

添加条件。一起使用 IFISNULL

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;