相关疑难解决方法(0)

更新select语句中的表

有没有办法更新mysql选择查询的select_expr部分中的表.这是我想要实现的一个例子:

SELECT id, name, (UPDATE tbl2 SET currname = tbl.name WHERE tbl2.id = tbl.id) FROM tbl;
Run Code Online (Sandbox Code Playgroud)

这给了我一个mysql错误,但我不明白为什么这不应该是可能的,只要我不改变tbl.

编辑:我将澄清为什么我不能使用普通的构造.

以下是我正在研究的问题的更复杂的例子:

SELECT id, (SELECT @var = col1 FROM tbl2), @var := @var+1, 
(UPDATE tbl2 SET col1 = @var) FROM tbl WHERE ...
Run Code Online (Sandbox Code Playgroud)

所以我基本上处于这样一种情况:我在select语句中递增一个变量,并且想要反映这个变化,因为我在选择行时因为我在执行期间使用了这个变量的值.这里给出的例子可能可以通过其他方式实现,但是由于存在太多不必要的代码,我不会在这里发布的真实示例需要此功能.

mysql sql

5
推荐指数
1
解决办法
8762
查看次数

标签 统计

mysql ×1

sql ×1