为什么我不能在MSQL中使用if-then和count()变量



Srr有人能帮我吗下一个问题是给我一个表中的行数

SET @UUIDTEST2 = 100;
SET @TESTNUMBER = 0;
SELECT @UUIDTEST2;
SELECT @UUIDTEST2 := count(*) from `swennenhome`.`tb_ElectrititeitLog` ;
SELECT @UUIDTEST2

这是有效的,但是,当我像这个一样添加if END if时

SET @UUIDTEST2 = 100;
SET @TESTNUMBER = 0;
SET @TESTNUMBER = 0;
SELECT @UUIDTEST2;
SELECT @UUIDTEST2 := count(*) from `swennenhome`.`tb_ElectrititeitLog` ;
if  (@UUIDTEST2 = 0) then
SET @TESTNUMBER = 5;
end if ;
SELECT @UUIDTEST2

我总是收到SQL语法错误。我已经在谷歌上搜索了两天了,但找不到问题或解决方案。

IF语句只能在复合语句中使用。

而不是IF函数。

-- ...
SELECT @UUIDTEST2 := IF(count(*), count(*), 5) 
from `swennenhome`.`tb_ElectrititeitLog`;
SELECT @UUIDTEST2;

但在您的情况下,您可以避免使用IF:

-- ...
SELECT @UUIDTEST2 := COALESCE(NULLIF(count(*), 0), 5) 
from `swennenhome`.`tb_ElectrititeitLog`;
SELECT @UUIDTEST2;

最新更新