Précédent   Forum des professionnels en informatique > Bases de données > MySQL > SQL Procédural
SQL Procédural Forum d'entraide sur les triggers, les procédures stockées et les fonctions en 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 03/11/2006, 12h20   #1
Invité régulier
 
Inscription : octobre 2006
Messages : 11
Détails du profil
Informations personnelles :
Âge : 28

Informations forums :
Inscription : octobre 2006
Messages : 11
Points : 7
Points : 7
Envoyer un message via MSN à SWOTR Envoyer un message via Skype™ à SWOTR
Par défaut LOAD DATA INFILE, trop de colonnes en entrée

Salut,

Dans une de mes applications, j'utilise un LOAD DATA INFILE pour insérer des données sorties par un client dans une table à moi.

Seulement dans les fichiers que m'envoie le client, au beau milieu des données se trouve une colonne qui n'existe pas dans ma base.

J'utilise déjà le paramètre d'ordre des colonnes, mais comment puis-je y indiquer de sauter cette colonne qui se trouve en plein milieu de ma liste ?
SWOTR est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/11/2006, 12h44   #2
Rédacteur
 
Avatar de Biglo
 
Inscription : juillet 2002
Messages : 537
Détails du profil
Informations personnelles :
Localisation : France, Moselle (Lorraine)

Informations forums :
Inscription : juillet 2002
Messages : 537
Points : 561
Points : 561
Salut,

LOAD DATA INFILE permet de nommer chaque colonne du fichier plat et de réutiliser ces alias pour les valeurs des colonnes de ta table.

Je ne suis pas trop sûr de la syntaxe, réfère-toi à la doc officielle. Mais ça doit être quelque chose du genre :
Code :
LOAD DATA INFILE 'ton_fichier' INTO TABLE t (@col1, @col2, @colPoubelle, @col3) SET col1=@col1, col2=@col2, col3=@col3;
Avec bien sûr tes options de séparateur de colonnes et de lignes.
Biglo est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/11/2006, 13h47   #3
Invité régulier
 
Inscription : octobre 2006
Messages : 11
Détails du profil
Informations personnelles :
Âge : 28

Informations forums :
Inscription : octobre 2006
Messages : 11
Points : 7
Points : 7
Envoyer un message via MSN à SWOTR Envoyer un message via Skype™ à SWOTR
Ah oui, petit détail qui a son importance...
Le serveur en question est sous MySQL 4.1 et ne connait pas le paramètre SET...
par contre, je vais voir si je peux pas faire une "colonne poubelle" quand même, merci de l'idée...
SWOTR est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/11/2006, 15h57   #4
Invité régulier
 
Inscription : octobre 2006
Messages : 11
Détails du profil
Informations personnelles :
Âge : 28

Informations forums :
Inscription : octobre 2006
Messages : 11
Points : 7
Points : 7
Envoyer un message via MSN à SWOTR Envoyer un message via Skype™ à SWOTR
Bon, après recherches intenses sur le net, il semblerait que la chose soit impossible sans passer par une table intermédiaire avant MySQL 5...
qu'il en soit ainsi, j'ai modifié la structure de ma table pour coller à celle du fichier. (heureusement que j'ai toute latitude de ce côté là...)
SWOTR 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 23h13.


 
 
 
 
Partenaires

Hébergement Web