Wymaga to złożonego zapytania, które aktualizuje wiele rekordów. Ale niewielka zmiana w Twoich danych może zmienić rzeczy tak, że można to osiągnąć za pomocą prostego zapytania, które modyfikuje tylko jeden rekord.
UPDATE my_table set position = position*10;
W dawnych czasach język programowania BASIC w wielu systemach miał numery linii, co zachęcało do tworzenia kodu spagetti. Zamiast funkcji wiele osób napisało GOTO line_number
. Prawdziwe kłopoty powstały, jeśli ponumerowałeś wiersze sekwencyjnie i musiałeś dodać lub usunąć kilka wierszy. Jak ludzie to obejrzeli? Zwiększając linie o 10! To właśnie tutaj robimy.
Więc chcesz, żeby gruszki były drugim przedmiotem?
UPDATE my_table set position = 15 WHERE listId=1 AND name = 'Pears'
Martwisz się, że w końcu luki między pozycjami znikną po wielokrotnym zamawianiu? Bez strachu po prostu rób
UPDATE my_table set position = position*10;
Od czasu do czasu.