sql >> Databáze >  >> RDS >> Mysql

Mysql SELECT uvnitř UPDATE

Consp má pravdu, že to není podporováno. Existuje však řešení:

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

Verze, která je pravděpodobně rychlejší:

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


  1. Přednášky:Vylepšení dělení v PostgreSQL 11

  2. Musím se chránit před vkládáním SQL, pokud jsem použil rozevírací seznam?

  3. Kurz transakcí SQL

  4. MySQL Group_Concat() vs T-SQL String_Agg()