尝试用同一个表中的值更新表

cgh8pdjw  于 2021-06-21  发布在  Mysql
关注(0)|答案(1)|浏览(259)
  1. UPDATE seasons SET good=good+1 WHERE id = (SELECT id FROM seasons ORDER BY id DESC LIMIT 1)

当我运行这个命令时,我得到一个错误:

1093-表'seasons'指定了两次,既作为'update'的目标,又作为单独的数据源

xqkwcwgp

xqkwcwgp1#

这是mysql的限制。
一种方法是使用 JOIN . 但是,对于这一点,最好使用 LIMIT 以及 ORDER BY :

  1. UPDATE seasons s
  2. SET s.good = s.good + 1
  3. ORDER BY id DESC
  4. LIMIT 1;

这是假设 id 表中没有重复,但对于名为 id .

相关问题