Du skrev en god og smart forespørgsel for at generere disse rækkenumre, en som undgår en rodet løsning ved hjælp af sessionsvariabler. For at lave opdateringen skal du blot slutte dig til dine tabel bomitems
til denne forespørgsel:
UPDATE bomitems t1
INNER JOIN
(
SELECT
t.ID,
t.Parent,
(SELECT COUNT(*) FROM bomitems AS x WHERE x.id <= t.id AND x.Parent = t.Parent) AS Counter
FROM bomitems t
) t2
ON t1.ID = t2.ID
SET t1.Counter = t2.Counter;
Jeg testede denne forespørgsel på mit lokale MySQL Workbench, og det ser ud til at virke.