首页 > 解决方案 > 将变量与查询结果中的第 n 行进行比较时,MySQL IF 语句的正确语法是什么?

问题描述

我正在 MySQLWorkbench 中编写存储过程,并希望创建一个 IF 语句,将变量设置为 true 或 false。

此 IF 语句的条件应将先前分配的变量与查询结果的第 n 行进行比较。还有另一个正确的做法吗?

我曾尝试使用 OFFSET n 但这会导致语法错误。同样 LIMIT n-1, n 不起作用

IF answer_in = (SELECT column FROM table OFFSET n) THEN
   SET x = true;
ELSE
   SET x = false;
END IF;

标签: mysql

解决方案


如果你想使用OFFSET

SELECT column FROM table ORDER BY <relevant_col> LIMIT 1 OFFSET n

或无偏移

SELECT column FROM table ORDER BY <relevant_col> LIMIT n,1

推荐阅读