Je hebt een goede en slimme query geschreven om die rijnummers te genereren, een die een rommelige oplossing met sessievariabelen vermijdt. Om de update uit te voeren, hoeft u alleen maar deel te nemen aan uw tafel bomitems
op deze vraag:
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;
Ik heb deze query getest op mijn lokale MySQL Workbench en het lijkt te werken.