我有一张用户付款表。我需要为每笔交易指定一个收据代码,所以我需要知道最后一笔交易是什么?如果没有以前的收据,我想添加第一个 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/