|
|
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上尝试过,它运行得很好。 |
|
|
Bard.Mus · 迁移后的数据库字符集环境 1 年前 |
|
Efannnnnn · 将Id数据存储到任何页面 1 年前 |
|
|
yooooo · 用于在块中删除的存储过程-LOOP未执行 1 年前 |
|
John Beasley · 更新一定数量记录的连续日期 1 年前 |
|
|
ColinM · MySQL以前的结果查询返回不正确的值 1 年前 |
|
Sergey_Z · MySQL只需无条件连接2个表和交叉连接 1 年前 |