|
|
1
4
原因如下(如上所述 Twitter )以下为: 变量@last_task是在一个单独的查询“batch”中定义的。我将SQL Fiddle上的查询分解为单独的批处理,分别执行。我这样做是为了让您可以在下面看到每个批次的输出作为一个不同的结果集。在Fiddle中,您可以看到有两组输出: http://sqlfiddle.com/#!2/e80f5/3/0 和 http://sqlfiddle.com/#!2/e80f5/3/1 。这些映射到您正在运行的两个语句(set和select)。问题是,您的set语句定义了一个仅存在于第一批中的变量;当select语句运行时,它是一个单独的批处理,并且您的变量没有在该上下文中定义。 要纠正这个问题,您所要做的就是定义一个不同的查询终止符。请注意架构和查询面板下的下拉框/按钮([;])-单击它,您可以选择分号(默认值)以外的内容。然后,您的两个语句将作为同一批的一部分包含在一起,您将得到所需的结果。例如: http://sqlfiddle.com/#!2/e80f5/9 |
|
|
2
2
这可能是旧版本MySQL中的一个bug。 我在MySQL 5.5上尝试过,它运行得很好。 |
|
|
Johnny T · 基于当前值的SQL合并表[重复] 1 年前 |
|
John D · 需要为NULL或NOT NULL的WHERE子句 1 年前 |
|
ojek · 如何对SQL结果进行分组和编号? 1 年前 |
|
|
senek · 如何在PL/SQL中将选择结果(列)放入数组中 1 年前 |
|
|
Sax · 规范化Google表格(第一步) 1 年前 |
|
|
Jatin · 检索卷计数的动态sql抛出错误语法错误[关闭] 1 年前 |
|
|
Andrus · 如何在sql中查找第二个匹配项 1 年前 |