Als u nog geen index heeft op number
je zou er een moeten toevoegen -
CREATE INDEX table_number ON table (number);
UPDATE Probeer dit -
UPDATE inv t1
INNER JOIN inv t2
ON t1.name = t2.name
AND t1.id <> t2.id
SET t1.flag_qty = 1;
U kunt uw tabel maken met alleen de duplicaten door deze gegevens rechtstreeks in een andere tabel te selecteren in plaats van eerst deze vlagupdate uit te voeren.
INSERT INTO duplicate_invs
SELECT DISTINCT inv1.*
FROM inv AS inv1
INNER JOIN inv AS inv2
ON inv1.name = inv2.name
AND inv1.id < inv2.id
Als je de logica kunt uitleggen waarvoor rijen worden verwijderd uit inv
tabel kan het zijn dat het hele proces in één stap kan worden gedaan.