UPDATE seasons SET good=good+1 WHERE id = (SELECT id FROM seasons ORDER BY id DESC LIMIT 1)
当我运行此命令时,我得到错误:“#1093 - 表'season'被指定两次,既作为'UPDATE'的目标,又作为单独的数据来源”。
答案 0 :(得分:2)
这是MySQL的限制。
一种方法是使用JOIN
。但是,为此,最好使用LIMIT
和ORDER BY
:
UPDATE seasons s
SET s.good = s.good + 1
ORDER BY id DESC
LIMIT 1;
这确实假设id
在表中没有重复,但对于名为id
的列来说,这似乎是一个合理的假设。