Insertin de donnees via un fichier externe

jeremay Messages postés 5 Date d'inscription vendredi 1 juin 2001 Statut Membre Dernière intervention 14 novembre 2007 - 15 janv. 2007 à 20:21
jeremay Messages postés 5 Date d'inscription vendredi 1 juin 2001 Statut Membre Dernière intervention 14 novembre 2007 - 19 janv. 2007 à 08:28
Bonjour, j'ai besoin d'un peu d'aide sur un import d'un fichier CSV
alors je m'explik :
- j'ai 4 tables :

CREATE TABLE `marque` (
  `id_marq` int(11) NOT NULL auto_increment,
  `lib_marq` varchar(50) NOT NULL default '',
  PRIMARY KEY  (`id_marq`)

CREATE TABLE `modele` (
  `id_mod` int(11) NOT NULL auto_increment,
  `lib_mod` varchar(25) NOT NULL default '',
  `id_marq` int(11) NOT NULL default '0',
  PRIMARY KEY  (`id_mod`)

CREATE TABLE `version` (
  `id_vers` int(11) NOT NULL auto_increment,
  `lib_vers` varchar(30) NOT NULL default '',
  `id_mod` int(11) NOT NULL default '0',
  PRIMARY KEY  (`id_vers`)

CREATE TABLE `occasion` (
  `id_occas` int(11) NOT NULL auto_increment,
  `id_marq` int(15) NOT NULL default '0',
  `id_mod` int(20) NOT NULL default '0',
  `id_vers` int(10) NOT NULL default '0',
  `prix` int(5) NOT NULL default '0',
   PRIMARY KEY  (`id_occas`),

 
Je voudrais importer d'un fichier CSV qui a plusieurs collonnes soit :
Marque | Modele | Version | Prix

quelle formule SQL dois je ecrire afin d'inserer les champs dans les bonnes tables, ainsi que verifier si les marques, modele, version existent ou pas et inscrire les references des cles primaires de chaque tables dans la table Occasion

Je pense avoir été assez clair.

PS : J'ai deja reussi en PHP a importer d'un fichier CSV dans une seule table. Mais je ny arrive pas sur plusieurs tables

3 réponses

Evangun Messages postés 1980 Date d'inscription dimanche 20 février 2005 Statut Membre Dernière intervention 24 septembre 2012 4
16 janv. 2007 à 13:31
salut,

C'est pas possible directement :  tu fais plusieurs fichiers csv, ou alors tu fais un script qui décortique le csv et en fait plusieurs requetes.

à+
0
pifou25 Messages postés 144 Date d'inscription lundi 13 octobre 2003 Statut Membre Dernière intervention 21 décembre 2014
18 janv. 2007 à 12:37
ça risque d'etre assez compliqué au fait: pour chaque ligne du fichier csv tu devra vérifier, si la marque existe dans ta table (sinon, l'insérer) pareil pour le modèle, puis la version, et enfin insérer le prix. Au minimum 4 requêtes par ligne de ton fichier, l'opération risque d'être lourde...
0
jeremay Messages postés 5 Date d'inscription vendredi 1 juin 2001 Statut Membre Dernière intervention 14 novembre 2007
19 janv. 2007 à 08:28
Peut etre, mais je n'ajoute pas plus de 15 à 20 enregistrement a la fin.

pouvez vous m'aider au moins sur une de ces 4 boucles ?
0
Rejoignez-nous