重复执行时,MySQL中嵌套选择中的更新不起作用
我从网站上发布的一个查询中得到了这个答案。它在第一次运行时效果很好,所以我接受了答案,但现在如果重复执行,它就不会这样做!update列只被引用一次,为什么在第二次执行时它不起作用呢。T1.col1在实际情况下分配UNIX时间。另外,我不理解t11在from列表中的作用重复执行时,MySQL中嵌套选择中的更新不起作用,mysql,select,nested,Mysql,Select,Nested,我从网站上发布的一个查询中得到了这个答案。它在第一次运行时效果很好,所以我接受了答案,但现在如果重复执行,它就不会这样做!update列只被引用一次,为什么在第二次执行时它不起作用呢。T1.col1在实际情况下分配UNIX时间。另外,我不理解t11在from列表中的作用 update T1 join (select max(col3) as maxcol3 from T1 t11 where co
update T1 join
(select max(col3) as maxcol3
from T1 t11
where col2 = 12345
) tmax
on T1.col3 = tmax.maxcol3 and
T1.col2 = 12345
set T1.col1 = 500;
t11
是一个别名
——别名用于为列、表或表达式结果提供临时名称。例如,如果需要自联接,则不能执行。。。从table.col1=table.col2
上的table连接table,因为table
不明确(哪个表?第一个还是第二个?)。您必须使用别名:。。。从table.col1=alias.col2上的表作为别名联接table
您希望第二次发生什么?col1
的值已设置为500
。谢谢!戈登。我希望你能回应。col1的值已设置为500。符合事实的但是MySQL rowcount()函数在没有其他db活动的情况下仍然应该返回1或大于零。它正在返回零。没有语法错误。当我更改500的值(实际上是UNIX时间)时,有时确实会得到一个不可预测的(或者可能是我没有注意到模式)行计数>0