Bonjour,
Je travaille sur un script permettant de selection des données d'un table et la mise à jour d'une autre table avec les données précedement selectionnés
voici la requête pour que vous puisse comprendre facilement ce que je veux faire
Code SQL : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 update contact c set c.flag_mail = 1, c.date_mail = select distinct date_envoi FROM flag_envoi_mail where flag_envoi_mail.id_contact = c.id_contact
Je voudrais mettre à jour la table contact avec les données de la table flag_envoi_mail
le soucis c'est que la table flag_envoi_mail contient plus de 8 millions de ligne
J'obtient l'erreur suivant :
J’implémente ce requete dans un script php qui interroge la table mysq et
j'ai ajouté ça dans le fichier setting.phpmais sans résultat
Code : Sélectionner tout - Visualiser dans une fenêtre à part ini_set('memory_limit', '250M');
voici le code :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 function synchro() { $tab = array(); $query = "SELECT DISTINCT id_contact,date_envoi FROM flag_envoi_mail "; //print $query; exit; $result = db_query($query); while ($data = db_fetch_object($result)) { $tab[$data-> id_contact] = $data->date_envoi; } return $tab; }jobtient l'erreur suivant :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 function principale_synchro() { foreach(synchro() as $key=>$val) { $query = "update contact set flag_mail = 1 , date_mail = '".$val."' WHERE id_contact = '".$key."' "; print $query . "<br />"; //db_query($query); } }
PHP Fatal Error: Allowed memory size of 8388608 bytes exhausted ....
Comment puis-je executer ce script , utilisation d'ajax ou autre ?
merci d'avance pour votre aide
Partager