J'ai deux tables Shere:besoin de mettre à jour une table MySQL avec des millions de lignes
Cities
Region| City Name
States
ID| State | Region_Key
que je dois faire une requête de mise à jour sur la table des villes comme si cities.region = définir-à-dire où les États statres.id .region_key = cities.region
Le problème est que la base de données des villes a plus de 2,7 millions d'enregistrements et j'ai essayé de faire une requête comme celle-ci pour que mysql se bloque et disparaisse.
update cities c, states c set c.region = s.id where c.region = s.region_key
EDIT ===================
C'est le sql J'utilise mais son travail ne je reçois une erreur disant que l'utilisation incorrecte de Mise à jour et LIMIT
update cities w, states s
set w.region_id = s.id,
w.updated = 1
where w.region = s.w_code and w.updated = 0
LIMIT 10000
rupture en lots, en utilisant peut-être une autre colonne (comme un datetime), ou si non approprié introduire un row_number() –
Vous utilisez l'alias "c" deux fois, pour chaque table – bart