Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Mysql SELECT dentro de UPDATE


Consp está certo que não é suportado. Há uma solução alternativa, no entanto:
UPDATE forms SET
pos = (SELECT MIN(pos)-1 FROM (SELECT * FROM forms) AS x)
WHERE id=$id

Uma versão que provavelmente é mais rápida:
UPDATE forms 
SET pos = (SELECT pos-1 FROM (SELECT MIN(pos) AS pos FROM forms) AS x)
where id=$id