sql >> Databasteknik >  >> RDS >> Mysql

Mysql SELECT inuti UPPDATERING

Consp har rätt i att det inte stöds. Det finns dock en lösning:

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

En version som förmodligen är snabbare:

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


  1. Hur man distribuerar Open edX MySQL-databasen för hög tillgänglighet

  2. MySQL-fel:Den maximala kolumnstorleken är 767 byte

  3. Visar meddelande när inga resultat hittas i PHP MySQL-sökning

  4. Skriv ut felsökningsinformation från lagrad procedur i MySQL