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番号にリンクされています。 tableA.user_idのIDとして存在します。
うまくいけば、それは理にかなっています。なんらかのJOIN
必要があると思いますが、サブクエリは面倒そうですUPDATE
。複数のテーブルがUPDATEに関係している場合、私は理解ORDER BY
してLIMIT
おり、立ち入り禁止です...しかし、機能が必要です。これを回避する方法はありますか?
少し混乱しました、よろしくお願いします。