sql >> Databasteknik >  >> RDS >> Mysql

Underhålla/uppdatera postordning i mysql

Skulle något sådant här göra det?

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 );

Jag testade det ett par gånger och det verkar fungera.



  1. importera mysql-data till hdfs(hadoop 2.4.1) med sqoop(1.4.5)

  2. Hierarkisk lista över triggerhändelsetyper i SQL Server 2019

  3. Hur väljer man den sista posten i en tabell i SQL?

  4. Databasdistribution med uppdateringar