我一直在尝试使用相关子查询将表中所有行的日期更新 11 天。我遇到的一个问题是 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)
我还研究了使用内部联接(上一篇文章中的示例)。但是,我不知道该怎么做。