php - MySQL 表为空时 SELECT MAX() 的返回结果是什么?

标签 php mysql select return-value max

我有一张用户付款表。我需要为每笔交易指定一个收据代码,所以我需要知道最后一笔交易是什么?如果没有以前的收据,我想添加第一个 1000 并且其他收据必须是增量的,如 1001、1002、...
为此,我写了这段代码:

$receipt = '1000';
$query_receipt = mysql_query("SELECT MAX(receipt) FROM tbl_payments");
$max = mysql_result($query_receipt,0);
if ($max != '0' || $max != '')
{
    $receipt = mysql_result($query_receipt,0) + 1;
}

当我在表中有记录时它工作正常。但是当表为空时它返回 1。我怎么解决这个问题?我需要知道 SELECT MAX() ... 的返回值,即使表为空也是如此。

最佳答案

您可以通过使用 IFNULL 实现此目的:

SELECT IFNULL(MAX(receipt), 1000) FROM tbl_payments;

关于php - MySQL 表为空时 SELECT MAX() 的返回结果是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12138323/

相关文章:

php - json 编码的返回数据取决于提供的登录数据的方式?

sql - Oracle select sql语句设置自增字段

php - 如何按值过滤多维数组(超过两级)?

javascript - PHP 停止表单重新加载显示错误 Js

php - 将数组从 PHP 发送到 GWT 的问题

php - 为什么我的 MySQL BETWEEN 运算符不起作用?

sql - Sql 左连接 oracle 上的标识符无效

perl - IO::Select 并为句柄添加标签

php - Laravel 5.3 ModelFactory Seeder 调用未定义的方法 Illuminate\Database\Query\Builder::posts()

php - 在 LAMP 站点上使用长目录路径/名称和 URL 有哪些缺点?