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;