Това изисква сложна заявка, която актуализира много записи. Но малка промяна във вашите данни може да промени нещата, така че да може да се постигне с проста заявка, която променя само един запис.
UPDATE my_table set position = position*10;
В старите дни езикът за програмиране BASIC на много системи имаше номера на редове, насърчаваше спагети кода. Вместо функции много хора написаха GOTO line_number
. Истински проблеми възникнаха, ако номерирате редовете последователно и трябваше да добавите или изтриете няколко реда. Как го заобиколиха хората? Чрез увеличаване на редовете с 10! Това правим тук.
Значи искате крушите да бъдат вторият артикул?
UPDATE my_table set position = 15 WHERE listId=1 AND name = 'Pears'
Притеснявате се, че в крайна сметка пропуските между елементите ще изчезнат след многократно пренареждане? Без страх, просто го правете
UPDATE my_table set position = position*10;
От време на време.