begin process at 2012 05 26 17:46:32
  Trouver un code source :
 
dans
 
Accueil > Forum > 

SQL

 > 

MySQL

 > 

Requêtes

 > 

LOAD DATA LOCAL INFILE insert que certaines colonnes


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

LOAD DATA LOCAL INFILE insert que certaines colonnes

jeudi 16 juillet 2009 à 09:43:51 | LOAD DATA LOCAL INFILE insert que certaines colonnes

ericsandrine

Membre Club


bonjour

j'ai un fichier csv avec 10 colonnes et ma table n'a que 3 colonnes

peut on faire un LOAD DATA LOCAL INFILE en ne récupérant que certaines du fichier csv ?

je voudrais mettre :

la colonne 1 de mon fichier csv dans la colonne 3 de ma table
la colonne 5 de mon fichier csv dans la colonne 2 de ma table
la colonne 6 de mon fichier csv dans la colonne 1 de ma table

ma table ne contiend que 3 colonnes

si on ne peut pas le faire directement, comment le faire ,

merci

mercredi 5 août 2009 à 17:23:09 | Re : LOAD DATA LOCAL INFILE insert que certaines colonnes

useralacon

Il existe une option à placer en toute fin de commande load qui permet de préciser l'ordre de chargement des colonnes dans la table en sortie.

exemple pour reprendre ton cas:
load data local infile "nom_de_ton_fichier" into table nom_de_ta_table (col3_de_ta_table,col2_de_ta_table,col1_de_ta_table);

Le problème c'est que dans ton cas cela ne marchera pas car ce sont les colonnes 1,5,6 de ton fichier qui t'interressent et non pas les colonnes 1,2,3.
dans l'absolu il faudrait faire un truc du genre (col3_de_ta_table,,,,col2_de_ta_table,col1_de_ta_table). Hors l'option ne permet pas de shunter une colonne du fichier entrée par une virgule par exemple.
Il est donc impératif que toutes les colonnes qui t'interressent soient en début de ligne même si l'ordre entre-elles n'importe pas.

À noter que si le fichier entrée contient plus de colonnes que la table en sortie ce n'est pas grave. Tu as droit à un warning au chargement, sans plus.

Alors comment faire dans ton cas ?
2 possibilités:
- Primo. Sous éditeur (genre VI par exemple), faire disparaitre les colonnes 2,3,4 de chaque ligne de ton fichier en entrée puis lancer la commande load avec l'option comme mentionnée dans l'exemple plus haut.
- Secondo. regénerer ton fichier entrée par une commande select col6_name,col5_name,col1_name into outfile "nom_de_ton_fichier" from table nom_de_ta_table_en_entrée; puis lancer une commande load normalle.







Cette discussion est classée dans : fichier, table, colonne, csv, colonnes


Répondre à ce message

Sujets en rapport avec ce message

connexion a une table de sql a partir d'un fichier aspx c#? [ par firas_tn ] Salut a tous c trés urgentcomment je peux connecter une table d'une base de donnée a partir d'un fichier aspx c# c a dire dans le code de cette page c Ajout d'une colonne de type non null [ par RMI ] Bonjour, Je souhaite ajouter un colonne de type non null dans une table déjà existante, cette colonne ne doit pas avoir de valeur par défaut. create dynamique de colonnes [ par stefsoft ] Bonjour,je crée un table dynamiquement dans ma procédure stockéeCREATE TABLE #table (id int, nom nvarchar(30))je veux lui ajouter des colonnes dynamiq Exporter la structure d'une table dans un fichier XML structuré [ par djdiabolik ] Bonjour,j'ai un problème à résoudre rapidement :je dois générer un fichier XML contenant la structure d'une table sous SQL Server 2000, après quelques Import de données depuis un fichier Excel [ par BUZZ2K ] Bonjour,Afin d'allimenter ma base de donnees (une seule table en fait), je dispose d'un fichiers excel contenant les informations voulues.J'aurai aime creer une table de plus de 11 colonnes vers Access par programmation [ par romagny13 ] Bonjour,- j'utilise visual studio 2005 en C# et je passe par System.Data.OleDb pour executer ma requete  -lorsque j'execute une requete permettant de renommer une colonne [ par SuperBouly ] bonjour, Je travaille avec VS2005 en VB.Net.Je désire renommer une colonne d'une table ACCESS. J'ai essayé la commande:"ALTER TABLE MaTab ibdata1 ne se vide pas quand on supprime une table [ par globule ] Bonjour, J'ai fait un programme en VB6 qui tourne avec MySQL 5 innodb (mysql essential pour windows) Je viens de me rendre compte que lorsque j'ef Import fichier CSV dans Oracle 9i sous Linux RHEL3 [ par Lucinda000 ] Bonjour à tous,Voilà. J'aimerai importer des fichiers csv sous Oracle 9i qui a déjà une base de données.J'ai bien compris que je devais utiliser sqlld Colonne Table SQL 2000 [ par anspauldou ] SalutJe voudrai savoir s'il est possible en MS SQL2000 d'avoir une colonne en lecture seul dans ma table afin d'empêcher quiconque d'effectuer une mod


Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,250 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales