【发布时间】:2012-05-11 02:07:32
【问题描述】:
正在学习 SQL,如果这是初级的,请见谅。试图为以下伪代码找出一个有效的UPDATE 解决方案:
UPDATE tableA
SET tableA.col1 = '$var'
WHERE tableA.user_id = tableB.id
AND tableB.username = '$varName'
ORDER BY tableA.datetime DESC LIMIT 1
上面更像SELECT 语法,但基本上是在尝试更新tableA的最新行中的单个列值,其中在tableB.username中找到了一个用户名(由$varName表示) 链接到它在tableB.id 中的ID 号,它作为id 存在于tableA.user_id 中。
希望这是有道理的。我猜某种JOIN 是必要的,但子查询对于UPDATE 来说似乎很麻烦。我知道ORDER BY 和LIMIT 在UPDATE 中涉及多个表时是禁区……但我需要这个功能。有没有办法解决这个问题?
有点困惑,提前谢谢。
【问题讨论】:
标签: mysql syntax sql-update