我在查询中使用mysql ifnull,如果id是空的,那么它应该返回1,但它不工作,我认为语法很好……有什么问题吗?
我使用的查询是:
SELECT IFNULL(id,1) autoid FROM tb_orders发布于 2014-04-11 06:48:33
您可以尝试使用这样的COALESCE:
SELECT COALESCE(id,1) autoid FROM tb_orders只是为了在观察您的评论之后添加,上面的查询只有在您的表上有记录时才有用。在餐桌上查询就像从空冰箱里拿冰淇淋一样!
发布于 2014-04-11 06:56:23
对于处理空表,需要检查返回的行数是否为零。
SELECT case COUNT(*) when 0 then 1 else IFNULL(id,1) END as autoid
FROM tb_ordersSQL Fiddle Demo for Empty table
但是在我看来,当表是空的时候,应该使用1以外的值来区分空值和空表。
SELECT case COUNT(*) when 0 then -1 else IFNULL(id,1) END as autoid
FROM tb_ordershttps://stackoverflow.com/questions/23005355
复制相似问题