我有这个 SQL 查询,这是错误的。我想更新字段“prevmonth”wins表,但仅限于字段“month_wins”具有最大值的记录。
UPDATE wins
SET prevmonth_top=1
WHERE month_wins = (SELECT MAX(month_wins) FROM wins)
错误信息:
#1093 - 您无法在 FROM 子句中指定用于更新的目标表“wins”
但我该怎么做呢?
试试这个技巧:
UPDATE wins
SET prevmonth_top=1
ORDER BY month_wins DESC
LIMIT 1
或者是这样的:
UPDATE IGNORE giveaways
SET winner = 1
WHERE month_wins = (select maxID from (SELECT MAX(ID) maxID FROM giveaways) as t)
它是same as 您无法在 FROM 子句中指定要更新的目标表“table_name” https://stackoverflow.com/a/8333454/491243.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)