有没有办法在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语句中递增变量,并且想要在选择行时反映这个变化,因为我需要在执行过程中使用这个变量的值。这里给出的示例可能可以用其他方法实现,但是我的真实例子由于有太多不必要的代码,所以我不会在这里贴出来,但是需要这种功能。