Mise à jour des colonnes d'une table
Fermé
nguim
-
Modifié par nguim le 4/03/2014 à 09:29
flokocha Messages postés 1510 Date d'inscription lundi 8 mars 2004 Statut Membre Dernière intervention 10 octobre 2015 - 4 mars 2014 à 14:57
flokocha Messages postés 1510 Date d'inscription lundi 8 mars 2004 Statut Membre Dernière intervention 10 octobre 2015 - 4 mars 2014 à 14:57
A voir également:
- Mise à jour des colonnes d'une table
- Mise a jour chrome - Accueil - Applications & Logiciels
- Mise a jour windows 10 - Accueil - Mise à jour
- Table ascii - Guide
- Table des matières word - Guide
- Mise a jour chromecast - Accueil - Guide TV et vidéo
3 réponses
flokocha
Messages postés
1510
Date d'inscription
lundi 8 mars 2004
Statut
Membre
Dernière intervention
10 octobre 2015
281
4 mars 2014 à 13:37
4 mars 2014 à 13:37
Salut,
Difficile de t'aider précisément sans connaitre la structure de la table cible et le contenu du fichier source, mais je t'invite à te renseigner sur la commande LOAD DATA INFILE qui te permettra éventuellement de loader en base toutes les données de ton fichier en une seule requête : http://dev.mysql.com/doc/refman/5.0/fr/load-data.html
Tu réduirais normalement le temps d'exécution de ton script à une poignée de secondes. :)
Difficile de t'aider précisément sans connaitre la structure de la table cible et le contenu du fichier source, mais je t'invite à te renseigner sur la commande LOAD DATA INFILE qui te permettra éventuellement de loader en base toutes les données de ton fichier en une seule requête : http://dev.mysql.com/doc/refman/5.0/fr/load-data.html
Tu réduirais normalement le temps d'exécution de ton script à une poignée de secondes. :)
Merci pour ce code fantastisque
Mais l m'affiche une petite erreur:
Maintenant je veux faire comme vous avez dit, mais déjà je ne connais pas encore comment on met une table à jour à partir d'une autre et surtout si c'est plus rapide qu'à partir d'un fichier texte.
S'il vous plait aidez moi encore.
Mais l m'affiche une petite erreur:
Parse error: syntax error, unexpected 'DATA' (T_STRING) in C:\wamp\www\etudephp\mysqlicorexc.php on line 7
Maintenant je veux faire comme vous avez dit, mais déjà je ne connais pas encore comment on met une table à jour à partir d'une autre et surtout si c'est plus rapide qu'à partir d'un fichier texte.
S'il vous plait aidez moi encore.
flokocha
Messages postés
1510
Date d'inscription
lundi 8 mars 2004
Statut
Membre
Dernière intervention
10 octobre 2015
281
4 mars 2014 à 14:41
4 mars 2014 à 14:41
Peux-tu stp indiquer la manière dont tu exécutes la requête sur ta page ?
Je m'excuse car l'erreur venait de moi même. Maintenant mon problème se trouve au niveau de :
Comment donc mettre à jour certaines colonnes d'une table à partir d'une autre table ?
Merci d'avance.
Comment donc mettre à jour certaines colonnes d'une table à partir d'une autre table ?
Merci d'avance.
flokocha
Messages postés
1510
Date d'inscription
lundi 8 mars 2004
Statut
Membre
Dernière intervention
10 octobre 2015
281
4 mars 2014 à 14:57
4 mars 2014 à 14:57
En admettant que la table ciblée par le LOAD DATA soit nommée "xxx" :
UPDATE coordab, xxx SET coordab.MEID=xxx.MEID WHERE coordab.IMSI=xxx.IMSI;
UPDATE coordab, xxx SET coordab.MEID=xxx.MEID WHERE coordab.IMSI=xxx.IMSI;
4 mars 2014 à 13:55
Voici la structure de ma table coordab:
Voici un extrait du contenu de mon fichier texte:
( ----------IMSI-------------------MEID-------)
624030743830000 WW00001D7DWW6D
624030743830001 WW00001D7DWW6E
624030743830002 WW00001D7DWW6F
624030743830003 WW00001D7DWW70
624030743830004 WW00001D7DWW71
624030743830005 WW00001D7DWW72
6240307438300h6 WW00001D7DWW73
A quel niveau de mon code dois je insérer cette commande.
S'il vous plait aidez moi.
Merci d'avance.
4 mars 2014 à 14:08
LOAD DATA LOCAL INFILE 'fichab.txt' REPLACE INTO coordab FIELDS TERMINATED BY ' ' IGNORE 1 LINES (IMSI, MEID);
Je pars du principe que le séparateur dans ton fichier txt est un simple espace, mais si c'est par exemple une tabulation, il faudra mettre à jour le contenu de FIELDS TERMINATED BY en conséquence.
Et tu n'as donc plus aucune boucle à faire. Tu ouvres ta connexion, tu exécutes cette requête, tu fermes ta connexion, et basta. :)
4 mars 2014 à 14:14
Il faut donc réaliser la même opération, mais en ciblant une table qui ne contiendra que les IMSI et MEID, puis faire un update de la table coordab à partir de cette nouvelle table.