Bonjour,
J'ai une table (table1) de 800.000 lignes avec plusieurs champs.
J'aimerais pouvoir ne récupérer qu'un seul champ, et copier toutes ces lignes sur une autre table (table2).
Ma méthode, qui sature totalement le serveur et fait planter mon script, est de lister mes lignes via un mysql_fetch_assoc(), d'extraire le champ, et de réinjecter le tout sur la table2 dans une boucle :
Auriez-vous une solution plus adaptée pour ce genre de requête ?// Part 1
$sql = "SELECT id FROM table1 WHERE liste IN (1, 2, 3, 4)";
$sql = mysql_query($sql);
$rows = mysql_fetch_assoc($sql);
// Part 2
foreach ($rows as $cle => $valeur)
{
$sql = "INSERT INTO `table2` VALUES(NULL, '". $valeur['id'] ."', 'XXX')";
mysql_query($sql);
}
Merci.
PS : à savoir que la première requête de 800.000 ligne fait planter le script..
Partager