相関サブクエリを使用して、テーブル内のすべての行の日付を 11 日更新しようとしています。私が遭遇した問題の 1 つは、サブクエリで選択しているテーブルを MySql で更新できないことです。サブクエリの結果を一時テーブルとして保存することで、これを回避できました。これは、サブクエリの where 句に定義された値がある場合に機能します。ただし、外側のクエリ (つまり、vm.psname = v.psname) を参照しようとすると、「'where 句' に不明な列 'v.psname' が表示されます。これが私のクエリです:
UPDATE cloud.vms v SET expirationdate=(
SELECT date FROM (
SELECT DATE_ADD(
(SELECT expirationdate
FROM cloud.vms vm
WHERE vm.psname=v.psname),
INTERVAL 11 DAY)
AS date)
AS tmptbl)
内部結合の使用も検討しました (前の投稿の例)。ただし、これを行う方法がわかりません。