Mysql
 sql >> Database >  >> RDS >> Mysql

Mysql SELECT all'interno di UPDATE

Consp ha ragione sul fatto che non è supportato. C'è una soluzione alternativa, tuttavia:

UPDATE forms SET
pos = (SELECT MIN(pos)-1 FROM (SELECT * FROM forms) AS x)
WHERE id=$id

Una versione probabilmente più veloce:

UPDATE forms 
SET pos = (SELECT pos-1 FROM (SELECT MIN(pos) AS pos FROM forms) AS x)
where id=$id