Mysql
 sql >> Database >  >> RDS >> Mysql

mysql incrementa il valore in base al record precedente

Hai scritto una query buona e intelligente per generare quei numeri di riga, uno che evita una soluzione disordinata usando le variabili di sessione. Per eseguire l'aggiornamento, unisciti al tuo tavolo bomitems a questa domanda:

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;

Ho testato questa query sul mio MySQL Workbench locale e sembra funzionare.