Ho bisogno di aggiornare una tabella tranne i primi 1000 record. La mia domanda è come questo:Aggiornamento MySQL dopo N righe
UPDATE tableA
SET price = 100
WHERE price = 200 AND
item_id =12 AND
status NOT IN (1,2,3);
So che l'approcah subquery funzionerà qui, ma sto avendo un enorme tavolo in cui 200000 record soddisfano la condizione WHERE
ed è in crescita. Quindi penso che se seguirò l'approccio della sub query, non si ridimensionerà con la crescita del DB.
Inoltre ho visto specificare LIMIT
nella query UPDATE
ma è fino a un certo limite. Nel mio caso è dopo un certo offset e dovrebbe aggiornare tutti i record.
Inoltre è possibile trovare il conteggio totale e specificarlo con LIMIT. Ma la query COUNT()
non funziona.
Grazie a Rahul per la rapida risposta. ma non posso fare affidamento sull'ID qui perché sta selezionando per un articolo specifico e quindi gli ID potrebbero non essere in un ordine. –
con 'ID' Voglio dire, una colonna unica autoincremento come. quindi la soluzione di cui sopra è la più efficiente. altrimenti è un po 'noioso quando arriva a un carico enorme. – Rahul
Sì. Intendevo anche lo stesso :) –