2013-06-20 40 views
1

引用: SET user defined variable in mysql return null?SQLyog的设置变量为MySQL返回null

我测试了以下代码:

SET @rank=0; 
SELECT *, @rank:[email protected]+1 AS rank FROM points 

对于在phpMyAdmin它返回:

id | user_id | points | rank 
----------------------------- 
2 | 133845 | 220 | 1 
4 | 134084 | 220 | 2 
5 |  1 | 150 | 3 
7 | 134086 | 145 | 4 


然而,在SQLYog所有的行列返回为“NULL“我检查了我的配置并将超时设置为28800秒,并关闭了压缩协议。 MySQL似乎停留在单个会话上,但SQLYog似乎使用两个连接来执行此查询。我怎样才能将应用程序设置为一个单一的连接,所以我不会失去变量值?

+0

您是否使用“执行所有语句”命令? 我在这里试过,它工作正常。您还可以在forums.webyog.com上创建帖子以获取进一步帮助。 –

+0

我在SQLyog(v11)上得到了相同的错误行为。这里是如何重现它: SET \@year := 2014; SELECT \@year as Year; 年将返回NULL。 – userfuser

+0

关于我上面的评论 - 只需从“\ @year”中删除“\”符号即可。 – userfuser

回答

0

一个实例中的多个查询。他们被堆放在个别情况下。

由于Jan建议“执行所有语句”命令应该做的伎俩。