【问题标题】:SQLYog set variables for MySQL returns nullMySQL 的 SQLYog 设置变量返回 null
【发布时间】:2013-06-20 22:13:08
【问题描述】:

参考: SET user defined variable in mysql return null?

我测试了以下代码:

SET @rank=0;
SELECT *, @rank:=@rank+1 AS rank FROM points

对于 PhpMyAdmin 中的 points,它会返回:

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 似乎为此查询使用了两个连接。如何将应用程序设置为单个连接,以免丢失变量值?

【问题讨论】:

  • 您是否使用了“执行所有语句”命令?我在这里尝试过,效果很好。您也可以在 forums.webyog.com 上创建一个帖子以获得进一步的帮助。
  • 我在 SQLyog (v11) 上得到了同样的错误行为。以下是如何重现它: SET \@year := 2014; SELECT \@year as Year; 年份将返回 NULL。
  • 关于我上面的评论 - 只需从“\@year”中删除“\”符号。
  • 好像和设置变量的模式有关。

标签: mysql sql database phpmyadmin sqlyog


【解决方案1】:

一个实例中的多个查询。它们在单个实例中被堆叠。

正如 Jan 建议的那样,“执行所有语句”命令应该可以解决问题。

【讨论】:

    猜你喜欢
    • 2016-07-26
    • 1970-01-01
    • 2014-04-18
    • 1970-01-01
    • 2012-11-29
    • 2020-01-26
    • 2018-01-08
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多