gpt4 book ai didi

MySQL 语法 - IF/END IF

转载 作者:行者123 更新时间:2023-11-29 23:54:01 25 4
gpt4 key购买 nike

有人可以告诉我在正确的语法方面我缺少什么吗?我不知道在哪里插入第二个 END IF 来结束第一个 IF。

谢谢。

IF ((SELECT COUNT(*) FROM `item` WHERE `CharID` = argCharID AND (`Name` = 'LBlade' OR `Name` = 'DExe')) != 1) THEN
BEGIN
SET argOutMessage = "Aborted: need 1 LBlade or DExe";
leave main_block;
END;
END IF;

我想要完成的是......我想检查是否有“LBlade”或“DExe”与特定表中的 CharID 关联。如果没有,或者如果有多个,我想离开主 block 并编写以“Aborted:...”开头的错误消息

最佳答案

对您的代码的一些小建议:

  • 使用 in 而不是与 or 进行比较(更易于阅读)。
  • then 不需要 begin/end
  • 对字符串常量使用单引号。

结果是这样的:

IF ((SELECT COUNT(*)
FROM `item`
WHERE `CharID` = argCharID AND `Name` IN ('LBlade', 'DExe')
) <> 1
)
THEN
SET argOutMessage = 'Aborted: need 1 LBlade or DExe';
leave main_block;
END IF;

注意:如果你正在寻找 0/1 的东西,那么 existscount(*) 更有效。

关于MySQL 语法 - IF/END IF,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25458121/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com