學習SQL,如果這是最基本的,很抱歉。試圖找出以下pseudoish代碼工作UPDATE
解決方案:帶有ORDER BY,LIMIT和多個表的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
語法,但我基本上是試圖在最新排表A的,其中更新單個列值在tableB.username(由$ varName表示)中找到的用戶名將鏈接到其在tableB.id中的ID號,該ID號存在於tableA.user_id中的ID中。
希望這是有道理的。我猜有些JOIN
是必要的,但子查詢看起來很麻煩UPDATE
。我知道ORDER BY
和LIMIT
在UPDATE中涉及多個表時是不受限制的......但我需要該功能。有沒有解決的辦法?
有點困惑,在此先感謝。
+1回答你自己的問題 –
**注意:**這不適用於臨時表 - 從手冊:'你不能在同一個查詢中多次引用TEMPORARY表.' –