Bonjour je reviens vous voir car mon fichier de départ est épurée, j'ai retiré les informations inutiles mais j'ai toujours le même souci :(...
Je suis débutante en SQL mais je ne peux pas faire autrement :(.
Pourriez-vous m'aider s'il vous plait?
Version imprimable
Bonjour je reviens vous voir car mon fichier de départ est épurée, j'ai retiré les informations inutiles mais j'ai toujours le même souci :(...
Je suis débutante en SQL mais je ne peux pas faire autrement :(.
Pourriez-vous m'aider s'il vous plait?
Est-ce que ma supposition était bonne ?
Est-ce que ta table "categories" est remplie ?Citation:
Envoyé par CinéPhil
=> Donne la structure de la table "categories".
As-tu importé ton fichier CSV dans une table d'importation vide ?
=> Donne la structure de la table d'importation créée.
En fait j'avais mis des 0 pour ne pas laisser les champs vides.
Voici ma table categories :
Pour le fichier CSV dans la table vide, je n'ai pas compris désolé :(... Dois-je créer une nouvelle base de données et faire une importation de mon fichier CSV??Code:
1
2
3
4
5
6
7
8
9
10 CREATE TABLE `categories` ( `ID` varchar(255) NOT NULL, `NAME` varchar(255) NOT NULL, `PARENTID` varchar(255) DEFAULT NULL, `IMAGE` mediumblob, PRIMARY KEY (`ID`), UNIQUE KEY `CATEGORIES_NAME_INX` (`NAME`), KEY `CATEGORIES_FK_1` (`PARENTID`), CONSTRAINT `CATEGORIES_FK_1` FOREIGN KEY (`PARENTID`) REFERENCES `categories` (`ID`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8
Désolé pour mes questions, et un grand merci pour ton aide
Tu as fait ceci :
Mais tu n'as pas répondu aux questions posées.Citation:
=> Donne la structure de la table "categories".
J'ai l'impression que cette discussion va faire quelques pages... :roll:
Si tu as accès à ta BDD via phpMyAdmin, utilise l'outil de l'onglet "Importer". Il créera la table et y insérera les données tout seul.Citation:
Pour le fichier CSV dans la table vide, je n'ai pas compris désolé
Tu peux le faire dans une nouvelle BDD ou dans la BDD actuelle. Ce n'est qu'une table d'importation que tu pourras ensuite supprimer.Citation:
Dois-je créer une nouvelle base de données et faire une importation de mon fichier CSV??
oups :s..
Oui la table catégories est remplie.
Je crée une table et j'importe mon fichier de suite
Voilà j'ai bien formaté mon fichier CSV, j'ai crée une base de données et j'ai fait une importation du fichier.
J'ai cette erreur-si qui apparait :
Erreur
Requête SQL:
[...]
MySQL a répondu:
#2006 - MySQL server has gone away
Mais j'ai une table qui a été crée :s..
Merci de votre aide, j'en ai vraiment besoin :(
Malgré cette erreur, la table d'import a été créée et est remplie de tout le contenu qui était à importer ?
Si ce n'est pas le cas, vide la table et refais l'importation, éventuellement avec une requête LOAD DATA INFILE, au cas où ce serait un timeout de phpMyAdmin qui pose problème.
Ah j'ai fait un fichier avec seulement 3 enregistrements sur une nouvelle base de données et il m'a crée une table avec les informations dedans
Mais quand j'essaye de l'importer dans ma table, j'ai toujours cette erreur-ci :(
Erreur
Requête SQL:
MySQL a répondu:Code:
1
2
3
4
5 INSERTINTO`products` VALUES ( 'ID','REFERENCE','CODE','CODETYPE','NAME','PRICEBUY','PRICESELL','CATEGORY','TAXCAT','ATTRIBUTESET_ID','STOCKCOST','STOCKVOLUME','IMAGE','ISCOM','ISSCALE','ATTRIBUTES' )
Citation:
#1452 - Cannot add or update a child row: a foreign key constraint fails (`dbname`.`products`, CONSTRAINT `PRODUCTS_FK_1` FOREIGN KEY (`CATEGORY`) REFERENCES `categories` (`ID`))
Qu'est-ce que tu racontes ? 8O
Tu en étais là :
Il s'agissait bien du fichier CSV que tu souhaites importer avec toutes les données que tu souhaites importer ?Citation:
Voilà j'ai bien formaté mon fichier CSV, j'ai crée une base de données et j'ai fait une importation du fichier.
Tu as eu une erreur à l'importation mais tu dis quand même :
C'est pour ça que je demandais :Citation:
Mais j'ai une table qui a été crée :s..
La question reste posée ! :roll:Citation:
Envoyé par CinéPHIL
Pourquoi maintenant parles-tu d'un fichier avec 3 enregistrements et d'une nouvelle base de données ?
Pourquoi as-tu de nouveau essayé d'importer tes données brutes dans la table products ? En plus ta requête d'insertion est fausse !
Allons-y par étapes et ne nous préoccupons pour le moment que de l'importation de ton fichier CSV dans une table d'import !
Donc je pose une nouvelle fois la question :
As-tu résussi à importer les données du fichier CSV dans une table d'importation ?
Vraiment désolé je perds les pédales avec ça :(...
Oui oui. C'est une base de données test. Il m'as crée une table 1 et a inséré les informations du fichier CSV (de 3 lignes d'informations seulement pour les tests).Citation:
As-tu résussi à importer les données du fichier CSV dans une table d'importation ?
OK. Admettons pour les trois lignes.
Maintenant, intéressons-nous aux données et à ce qu'elles signifient par rapport à la structure de la BDD dans laquelle tu dois les répartir...
J'en étais naguère à supposer ceci :
Est-ce que la colonne de ton fichier CSV qui contenait "Table basse" est celle contenant le libellé des catégories ?Citation:
Envoyé par CinéPhil
Par voie de conséquence, as-tu bien une colonne de la table d'importation qui contient ces libellés de catégories pour les 3 lignes que tu as importées ?
Enfin, ces libellés existent-ils dans la table des catégories, donc dans la colonne categories.NAME ?
Voici le fichier CSV que j'ai. Je te l'envoie en pièces jointes de ce commentaire
Merci énormément pour ton aide
Pièce jointe 97622
Il semblerait donc que tes CATEGORY dans le fichier CSV soient celles-ci :
- c4f233a6-c63a-4d20-91ef-423c932c01f5
- de45da76-ecd2-4a99-bc8a-569a328a0b48
- a08d585e-0dc8-4979-b926-782a7d1c9c3f
Existent-elles dans la table categories ?
Oui oui, cela correspond aux ID de mes catégories dans ma table catégories. Souhaites-tu l'envoi de ma table catégories? (simple question)
Merci d'avance
Donc on va pouvoir récupérer les identifiants des catégories sans problème.
l'autre clé étrangère qui risque de poser problème dans la table products, c'est celle-ci :
Elle concerne la colonne suivante de la table products :Code:
1
2 CONSTRAINT `PRODUCTS_TAXCAT_FK` FOREIGN KEY (`TAXCAT`) REFERENCES `taxcategories` (`ID`)
Dans tes données importées, la colonne TAXCAT a pour valeur : 000.Code:`TAXCAT` varchar(255) NOT NULL,
Cette valeur existe t-elle dans la colonne taxcategories.ID ?
Oui la valeur 000 pour taxecategories.ID existe bien, et elle est la même pour tous les articles.
Super !
Maintenant les colonnes qui posent problème dans les données à importer sont les prix car ils sont suivi du symbole monétaire.
Peux-tu me confirmer que dans la table d'import, les prix se terminent par un espace suivi du symbole (€ apparemment) ?
Ah non, aucun signe monétaire n'est présent. Par exemple, pour 20€, dans al table products, il y a seulement 20
Je ne parle pas de la table products que tu vas alimenter mais de la table dans laquelle ton fichier CSV a été importé !
D'ailleurs, quel est le nom de la base de données et de la table dans laquelle tu as importé ton fichier CSV ?