Один из способов справиться с этим - использовать временные таблицы:
CREATE TABLE tmp_sort (id INT, sort_order INT);
INSERT INTO tmp_sort VALUES (10, 1), (15, 2), (1,3);
UPDATE table, tmp_sort
SET table.sort = tmp_sort.sort_order
WHERE tmp_sort.id = table.picID;
Другой способ использовать поток управления:
UPDATE table
SET sort = CASE picID
WHEN 10 THEN 1
WHEN 15 THEN 2
WHEN 1 THEN 3
ELSE sort END
Обратите внимание на ELSE
в концеЕсли у вас его нет, все остальное будет пустым!