Detta kräver en komplex fråga som uppdaterar många poster. Men en liten ändring av dina data kan ändra saker så att de kan uppnås med en enkel fråga som bara ändrar en post.
UPDATE my_table set position = position*10;
Förr i tiden hade BASIC-programmeringsspråket på många system radnummer, det uppmuntrade spagettikod. Istället för funktioner skrev många människor GOTO line_number
. Verkliga problem uppstod om du numrerade raderna sekventiellt och var tvungen att lägga till eller ta bort några rader. Hur kom folk runt det? Öka raderna med 10! Det är vad vi gör här.
Så du vill att päron ska vara det andra föremålet?
UPDATE my_table set position = 15 WHERE listId=1 AND name = 'Pears'
Orolig för att luckor mellan varorna så småningom kommer att försvinna efter flera ombeställningar? Ingen rädsla bara gör
UPDATE my_table set position = position*10;
Då och då.