有没有办法更新mysql选择查询的select_expr部分中的表.这是我想要实现的一个例子:
SELECT id, name, (UPDATE tbl2 SET currname = tbl.name WHERE tbl2.id = tbl.id) FROM tbl;
这给了我一个mysql错误,但我不明白为什么这不应该是可能的,只要我不改变tbl.
编辑:我将澄清为什么我不能使用普通的构造.
以下是我正在研究的问题的更复杂的例子:
SELECT id, (SELECT @var = col1 FROM tbl2), @var := @var+1, (UPDATE tbl2 SET col1 = @var) FROM tbl WHERE ...
所以我基本上处于这样一种情况:我在select语句中递增一个变量,并且想要反映这个变化,因为我在选择行时因为我在执行期间使用了这个变量的值.这里给出的例子可能可以通过其他方式实现,但是由于存在太多不必要的代码,我不会在这里发布的真实示例需要此功能.