MySQL IF(SELECT)语句

时间:2013-09-05 14:55:01

标签: mysql sql

我有一个无法编译的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

2 个答案:

答案 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)

IF语句与IF()函数不同。确保你使用的是正确的。