Page 1 sur 1

(débutant) importer une base de données avec phpmyadmin

Posté : 23 mai 2008, 11:01
par ajor
Bonjour à tous!

Je suis en train de découvrir mysql, et j'ai quelques difficultés à apprivoiser la bête...

J'ai créé un site en local et tente maintenant de le migrer sur l'hébergeur.
Donc j'arrive sur phmyadmin, je créé ma base, puis j'ai ceci:

Code : Tout sélectionner

Base de données Interclassement esodiffusion latin1_swedish_ci information_schema utf8_general_ci Total: 2 latin1_swedish_ci * Activer les statistiques Note: L'activation des statistiques peut causer un trafic important entre le serveur web et le serveur MySQL. * Créer une base de données: aucun privilège
Ensuite, je fais "importer" (je laisse les options par défaut: option utf8, "importation partielle" cochée, mode de compatibilité NONE)

Et j'obtiens l'erreur suivante:

Code : Tout sélectionner

Erreur requête SQL: -- -- Contenu de la table 'pays' -- INSERT INTO pays( id, lang, zone, default, tva ) VALUES ( 1, 0, 9, 0, 0 ) , ( 2, 0, 8, 0, 0 ) , ( 3, 0, 7, 0, 0 ) , ( 4, 0, 7, 0, 0 ) , ............ , ( 268, 0, 11, 0, 0 ) ; MySQL a répondu:Documentation #1064 - Erreur de syntaxe près de 'default, tva) VALUES (1, 0, 9, 0, 0), (2, 0, 8, 0, 0), (3, 0, 7, 0, 0), (4, 0, ' à la ligne 1
(c'est moi qui a rajouté les ....................... , c'était vraiment long)

Avez-vous idée de ce qu'il a bien pu se passer?

Merci beaucoup par avance à qui pourra essayer de m'aider...

Posté : 23 mai 2008, 11:07
par Berzemus
Salut,

Quand Mysql balance un truc du genre "Erreur de syntaxe près de ", l'erreur se situe exactement la ou il commence à citer. La, je dirais que le nom 'default' est peut-être mal choisi, ça pourait être un mot-clé de mysql, ce qu'il n'aime que moyennement.

A moins de le mettre entre apostrophes inversés (`default`) pour empecher mysql d'y voir un mot avec une signification particulière pour lui, tu devrais changer le nom de la colonne..

Posté : 23 mai 2008, 11:26
par animithra
EDIT : sérieux je suis fatiguée, j'ai sauté une ligne et vu l'erreur dans les values et pas dans l'INSERT, désolée.
Cela étant je laisse mon commentaire sur les méthodes d'import/export, c'est toujours utile...

Au passage, je rappelle, puisque quelqu'un me l'a demandé il n'y a pas si longtemps, que les ` en question s'obtiennent en appuyant sur [Alt Gr] + [7].

Lorsque l'on fournit un fichier pour import à quelqu'un, il vaut mieux le rédiger comme ceci :

INSERT INTO table VALUES(1 enregistrement);
INSERT INTO table VALUES(2nd enregistrement);
...

plutôt que

INSERT INTO table VALUES(1 enregistrement),(2n enregistrement,...);

La première méthode à l'avantage de valider les enregistrements précédents même si la suite connaît un problème et ça permet de mieux situer l'enregistrement comportant une erreur.

Bonne progra et bon courage !

Posté : 23 mai 2008, 11:59
par ajor
J'ai pas tout compris le dernier post, en tout cas merci à toi Berzemus, puisque j'ai changé la valeur default pour autre chose et l'importation de la base a fonctionné!

Merci beaucoup!