2
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 

快速回答真的很有帮助。

4

2 回答 2

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()
于 2013-09-10T10:27:29.693 回答
1

如果两个表具有相同的列,则可以使用 UNION 查询,如下所示:

SELECT * FROM Client WHERE @var>1
UNION ALL
SELECT * FROM otherTable WHERE @var<=1

请在此处查看示例。

于 2013-09-10T10:30:12.570 回答