我有一个无法编译的MySQL语句,任何人都可以给我一个基本的例子来说明它应该如何工作?半伪代码:
IF (SELECT 'id' FROM terms WHERE name = 'thename' IS NULL) THEN
# Do this...
ELSE
# do this...
END IF
我根本无法获得任何IF语句,甚至不能像以下那样测试:
IF(1=1)
THEN SELECT "works"
END IF
答案 0 :(得分:4)
对于您的第一个例子,您没有评估条件。您需要将IS NULL
移到SELECT
:
IF (SELECT 'id' FROM terms WHERE name = 'thename') IS NULL THEN
...
如果您在SELECT
声明中运行此内容,则可能需要使用CASE
:
SELECT
CASE
WHEN (SELECT 'id' FROM terms WHERE name = 'thename') IS NULL THEN ...
END
否则,请参阅IF
documentation。
答案 1 :(得分:0)