Mysql
 sql >> Base de données >  >> RDS >> Mysql

valeur d'incrément mysql basée sur l'enregistrement précédent

Vous avez écrit une bonne et intelligente requête pour générer ces numéros de ligne, qui évite une solution compliquée utilisant des variables de session. Pour faire la mise à jour, rejoignez simplement votre table bomitems à cette requête :

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;

J'ai testé cette requête sur mon MySQL Workbench local et cela semble fonctionner.