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

Udržování/aktualizace pořadí záznamů v mysql

Dělalo by to něco takového?

UPDATE items 
SET position = CASE position 
  WHEN $oldpos THEN $newpos 
  ELSE position + SIGN($oldpos-$newpos)
 END
WHERE position BETWEEN LEAST( $newpos, $oldpos ) 
                AND GREATEST( $newpos, $oldpos );

Několikrát jsem to testoval a zdá se, že to funguje.



  1. Nesprávná hodnota řetězce při pokusu o vložení UTF-8 do MySQL přes JDBC?

  2. Jaká jsou databázová omezení?

  3. CloudFormation:Šablona RDS Mysql pro vytvoření DB, tabulek, uživatelů nebo schématu načtení

  4. MySQL – Jak aktualizuji desetinný sloupec, aby umožňoval více číslic?