表为空时Mysql查询获取下一个id

标签 mysql

我需要在数据库表中获取下一个 ID,所以我执行此查询

SELECT MAX(`id`) + 1 AS nextId FROM `students`;  

它有效,但在表为空时无效,如果表为空则返回“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()

关于表为空时Mysql查询获取下一个id,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30191338/

相关文章:

mysql - Nlog 与 Pomelo.EntityFrameworkCore.MySql

使用查询进行 MySQL 转储

java - 为什么 Hibernate 不为多对多关系表生成主键?

php - SugarCRM 数据库变量不允许我从我自己的属性中调用 quote() 函数

php - 将日期保存到 MySQL

java - MySQL 单例连接模式的关闭连接 (Java)

mysql - Adonis js 如何重新排序表模式的创建以迁移到 mysql

mysql - 将行设置为等于 mysql 中的其他行?

php - 使用 mysql_query 成功但使用 mysqli_query 失败的注入(inject)攻击

php - 创建订阅功能(链接多个表?)?