Ett alternativt svar till SvanteH (nästan identiska men ville bara visa en alternativ form):
I en tabell med 2 097 152 rader om du ska sätta samma värde till alla (annars kan du skriva en funktion som uppdaterar de); tar bara några sek så är alla uppdaterade med en query!
Men säg att du ta bort 30% slumpmässiga rader och du har en kolumn som heter deleted:
Kod:
UPDATE test AS org
INNER JOIN
(SELECT
RAND() AS randNr, test.id
FROM
test
HAVING randNr <= 0.3) AS ra ON org.id = ra.id
SET
deleted = 1;
Detta är bara för att visa att man kan lägga in nya "columner" i svaret i select-satsen.
Fungerar ju på samma sätt såklart. Man kan även använda en switch-sats i queryn; värt att kolla in om du vill lära dig lite mer om det
EDIT:
Såg att det var ett lite sent svar så ber om ursäkt för det.
Testa även att skriva explain före queryn så kan du jämföra olika typer av frågesatser.