Précédent   Forum des professionnels en informatique > Bases de données > MySQL
MySQL Forum d'entraide MySQL. Avant de poster -> FAQ MySQL, Tutoriels MySQL
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 07/06/2011, 10h27   #1
Invité régulier
 
Inscription : avril 2011
Messages : 35
Détails du profil
Informations forums :
Inscription : avril 2011
Messages : 35
Points : 6
Points : 6
Par défaut Mise à jour d'une table très riche à partir d'un fichier Excel

Bonjour,

Voilà, j'ai un p'tit soucis.
J'ai une table nommée 'commune' qui regroupe toutes les communes de France avec des informations pour chacune d'elles (telles que l'insee, le nom, le code postal, le code canton, la latitude, la longitude...). Cependant, elle n'a pas été mis à jour depuis 2006. Et depuis, des changements il y en a eu. J'ai trouvé un fichier Excel qui regroupe toutes les communes de 2011 et j'aimerais m'en servir pour rajouter les communes manquantes et modifier les informations qui ont changé pour les communes existantes dans ma table.
Le truc, c'est que ce fichier Excel ne respecte pas la forme de ma table, j'ai des attributs dans ma table qui ne figure pas dans le fichier Excel et inversement.

Est-ce que l'un de vous a une idée pour gérer ça ?
Kentin64 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/06/2011, 10h35   #2
ced
Rédacteur/Modérateur

 
Avatar de ced
 
Homme Cédric Duprez
Inscription : avril 2002
Messages : 3 823
Détails du profil
Informations personnelles :
Nom : Homme Cédric Duprez
Âge : 36
Localisation : France, Loiret (Centre)

Informations professionnelles :
Secteur : Agroalimentaire - Agriculture

Informations forums :
Inscription : avril 2002
Messages : 3 823
Points : 6 440
Points : 6 440
Bonjour,

Personnellement, je ferais les choses comme ça :
  • création une table temporaire au format du fichier à importer ;
  • import du fichier dans la table temporaire ;
  • par jointure externe, insertion des communes manquantes depuis la table temporaire dans la table finale ;
  • suppression de la table temporaire ;
  • mise à jour éventuelle des infos manquantes dans la table finale.
__________________
Rédacteur / Modérateur SGBD
Mes tutoriels et la FAQ MySQL

----------------------------------------------------
Pensez aux balises code et au tag
Je ne réponds pas aux questions techniques par message privé, les forums sont là pour ça
ced est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 07/06/2011, 12h34   #3
Invité régulier
 
Inscription : avril 2011
Messages : 35
Détails du profil
Informations forums :
Inscription : avril 2011
Messages : 35
Points : 6
Points : 6
Merci d'avoir répondu aussi rapidement !

J'y avais pensé à cette solution, mais étant étudiant en informatique, je recherche toujours la solution la moins fastidieuse

Apparemment, il n'y a pas d'autres solutions que celles que tu m'as proposé, alors je l'ai tenté. Mais impossible d'importer mon fichier Excel. J'ai regardé pendant 1 heures et demi comment faire, mais ça ne marche pas. J'ai beau essayé plein de type de fichiers différents (CSV, XLS, TXT...), mais quand j'essaye de l'importer dans phpMyAdmin, il me sors toujours la même erreur :
Citation:
Aucune données n'a été reçu en vue de l'importation. Aucun nom de fichier n'a été fourni, ou encore la taille du fichier a dépassé la limite permise par votre configuration de PHP. Voir FAQ 1.16
J'ai vu que l'on pouvait aussi écrire un script php pour l'import, mais si phpMyAdmin peut le faire, pourquoi je bataillerais avec un script...

Voilà, si t'as une p'tite idée, je t'en serais énormément reconnaissant
Kentin64 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/06/2011, 12h39   #4
ced
Rédacteur/Modérateur

 
Avatar de ced
 
Homme Cédric Duprez
Inscription : avril 2002
Messages : 3 823
Détails du profil
Informations personnelles :
Nom : Homme Cédric Duprez
Âge : 36
Localisation : France, Loiret (Centre)

Informations professionnelles :
Secteur : Agroalimentaire - Agriculture

Informations forums :
Inscription : avril 2002
Messages : 3 823
Points : 6 440
Points : 6 440
C'est parce que tu passes par phpMyAdmin...
Le problème est propre au PHP et à phpMyAdmin, dans la mesure où la taille d'un fichier téléchargeable est limitée dans un paramètre du fichier de configuration de PHP.
Là, il faut poser la question (ou plutôt commencer par regarder la FAQ ) sur le forum PHP.

Pour ma part, je passerai par une console mysql pour éviter ce problème et déjà tester la solution.
__________________
Rédacteur / Modérateur SGBD
Mes tutoriels et la FAQ MySQL

----------------------------------------------------
Pensez aux balises code et au tag
Je ne réponds pas aux questions techniques par message privé, les forums sont là pour ça
ced est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/06/2011, 10h39   #5
Invité régulier
 
Inscription : avril 2011
Messages : 35
Détails du profil
Informations forums :
Inscription : avril 2011
Messages : 35
Points : 6
Points : 6
Merci ced,

Je suis passé par la console mysql pour insérer mes lignes dans ma table temporaire. Effectivement, y a rien de plus simple Merci

Maintenant je vais réaliser mes INSERT à sous-requêtes. Donc je teste mes sous-requêtes.

Je ne serais pas arriver si loin sans toi, merci encore
Kentin64 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 20h28.


 
 
 
 
Partenaires

Hébergement Web