如果有桌子,"测试"。我们怎样才能回归"没有数据"如果表只有标题但没有其他行?
IF (SELECT 1 FROM test) < 1 THEN (SELECT ' No data');
END IF;
以下代码不断返回&#34; SQL ERROR(1064):SQL查询中存在语法错误&#34;。但是,我完全按照手册中的语法进行操作:
https://dev.mysql.com/doc/refman/5.7/en/if.html
任何一位大师能开导吗?感谢。
答案 0 :(得分:0)
我认为检查表是否有记录的最佳方法是执行返回&#39; 0&#39;当没有找到记录时,&#39; n&#39;当找到记录时,正在发现记录。表上存在的记录数量......您可以这样做:
SELECT COUNT(1) AS TOTAL_ROWS FROM test;
...保存在名为TOTAL_ROWS
但是,关于您的请求,可以通过以下查询获得该结果:
SELECT IF(TOTAL_ROWS = 0, 'No data', 'There\'s data on \'test\' table') AS `EXISTS DATA?`
FROM (
SELECT COUNT(1) AS TOTAL_ROWS FROM test
)t
;
如您所见,结果是通过几个嵌套查询获得的:
SELECT COUNT(1) AS TOTAL_ROWS FROM test
计算test TABLE
上现有记录的总数,并将结果保存在TOTAL_ROWS
TOTAL_ROWS
上保存的值,并根据结果显示所需的标签。