有什么办法可以更新mysql选择查询的select_expr部分中的表。这里是什么,我想实现一个例子:在select语句内更新表
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语句中增加一个变量的情况下,想反映这种变化我正在选择行,因为我在执行过程中使用了此变量的值。这里给出的例子可能可以用其他方式来实现,但是由于存在太多不必要的代码,我不会在这里发布的真实例子需要这种功能。
我会澄清我的问题 – 2009-02-13 13:26:25