set @var=1;
if @var>1 then
select * from client;
else
select * from otherTable;
end if;
这是我的mysql查询。你们能指出为什么会出现错误吗? 这真的是在冒我的脑筋。
显示的错误是
IF @var >1 THEN SELECT *
FROM client;
MySQL said: Documentation
#1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'if @var>1 then
select * from client' at line 1
快速回答会非常有用。
答案 0 :(得分:3)
在MySQL中,您必须在触发器或过程中执行该操作。
如果没有围绕它的功能,你不能只运行脚本代码。
delimiter |
CREATE PROCEDURE simpleproc ()
BEGIN
set @var=1;
if @var>1 then
select * from client;
else
select * from otherTable;
end if;
END;
|
delimiter ;
之后你可以用
执行它call simpleproc()
答案 1 :(得分:1)
如果两个表具有相同的列,则可以使用UNION查询,如下所示:
SELECT * FROM Client WHERE @var>1
UNION ALL
SELECT * FROM otherTable WHERE @var<=1
请参阅示例here。