我有一个无法编译的 MySQL 语句,谁能给我一个它应该如何工作的基本示例?半伪代码:
IF (SELECT 'id' FROM terms WHERE name = 'thename' IS NULL) THEN
# Do this...
ELSE
# do this...
END IF
Run Code Online (Sandbox Code Playgroud)
我根本无法让任何 IF 语句起作用,甚至没有像这样的测试语句:
IF(1=1)
THEN SELECT "works"
END IF
Run Code Online (Sandbox Code Playgroud)
对于您的第一个示例,您没有评估条件。你需要移动IS NULL外面的SELECT:
IF (SELECT 'id' FROM terms WHERE name = 'thename') IS NULL THEN
...
Run Code Online (Sandbox Code Playgroud)
如果您在SELECT语句中运行它,您可能需要使用CASE:
SELECT
CASE
WHEN (SELECT 'id' FROM terms WHERE name = 'thename') IS NULL THEN ...
END
Run Code Online (Sandbox Code Playgroud)
否则,请参阅IF文档。