Se connecter / S'enregistrer
Votre question

Erreur php My admin quand je veux copier une table

Tags :
  • Sql
  • Programmation
Dernière réponse : dans Programmation
5 Novembre 2007 13:33:11

Bonjour,

J'utilise une base de données SQL pour mon site que je gere sous PHPMy Admin.
Je voudrais faire une copie d'une de mes tables, mais quand j'essaie, j'obtiens le message d'erreur suivant :

requête SQL: [Modifier]

CREATE TABLE `mabdd`.`newsletterbis` (

`id` int( 11 ) NOT NULL AUTO_INCREMENT ,
`titre` varchar( 5 ) NOT NULL default '',
`prenom` varchar( 70 ) NOT NULL default '',
`nom` varchar( 70 ) NOT NULL default '',
`email` varchar( 100 ) NOT NULL default '',
PRIMARY KEY ( `id` )
) ENGINE = MYISAM AUTO_INCREMENT = 319DEFAULT CHARSET = latin1

MySQL a répondu:

#1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '319DEFAULT CHARSET = latin1' at line 6


Quelq'un pourrait me dire ce qui cloche?

Merci d'avance

Autres pages sur : erreur php admin veux copier table

5 Novembre 2007 15:05:20

salut,
un espace entre 319 et DEFAULT
5 Novembre 2007 15:13:26

Salut
Je n'écris pas moi même mes requêtes SQL, elles se font automatiquement par le biais de php My Admin, donc je ne pense pas que ca vienne d'un espace puisque c'est l'application qui a généré cette requete
Contenus similaires
Pas de réponse à votre question ? Demandez !
5 Novembre 2007 15:31:53

alors c'est un bug de phpmyadmin, car je peux t'assurer que l'erreur vient de l'espace ;) 
essaie en copiant cette requete et en l'executant toute seule, tu verras par toi meme.
5 Novembre 2007 15:56:15

On m'a donné la requete ci-dessous sur un autre forum, qui a fonctionné puisqu'elle m'a bien créé une table "newsletterbis", mais le problème c'est que seule la structure de la table a été copiée et non son contenu, alors que moi je souhaiterais copier la strcuture + le contenu. Comment faire?

CREATE TABLE `mabdd`.`newsletterbis` (

`id` int( 11 ) NOT NULL AUTO_INCREMENT ,
`titre` varchar( 5 ) NOT NULL default '',
`prenom` varchar( 70 ) NOT NULL default '',
`nom` varchar( 70 ) NOT NULL default '',
`email` varchar( 100 ) NOT NULL default '',
PRIMARY KEY ( `id` )
) ENGINE = MYISAM AUTO_INCREMENT = 319;
5 Novembre 2007 16:17:04

comment tu fais ta copie?
sur phpmyadmin:
tu cliques sur la table puis sur l'onglet opérations, puis dans le cadre: "Copier la table vers (base.table) :", tu rentres un nom et tu n'oubies pas de cocher "Structure et données"
5 Novembre 2007 16:17:15

Ca semble assez logique tu fais un CREATE TABLE donc tu crées la table, pour les insertions de données tu dois avoir des INSERT INTO ;) 
5 Novembre 2007 16:29:45

Coca25 : oui c'est comme ca que je fais

Maxcailla : c'est la requete que m'a généré PHP My Admin quand je lui ai demandé une copie de ma table, c'était censé être bien fait normalement!
5 Novembre 2007 16:34:07

Si tu le fais avec phpmyadmin vérifie bien que tu as cliqué "Structures ET données" parce que là apparemment tu n'as que la structure ;) 
5 Novembre 2007 16:37:58

Oui je sais mais le problème c'est quand je créé avec PHP mly admin, il me met un message d'erreur et ne veut pas me copier ma base!
5 Novembre 2007 16:50:56

normalement, s'il t'affiche une erreur, il devrait y avoir 2 requetes, celle pour créer (create...) et celle pour insérer:
  1. INSERT INTO `xxx`.`yyyy` SELECT * FROM `xxx`.`zzzzz`;

eh bien il te suffit de rajouter l'epace comme je te l'ai indiqué au premier post sans rien modifier d'autre et d'executer la requete!
6 Novembre 2007 09:24:28

Justement mon problème c'est que j'ai beau demander une copie de la strcuture+ des données, il me copie que la structure! Donc si je ne rajoute que l'espace sans rien changer, j'obtiens seulement une nouvelle table sans aucun enregistrement
6 Novembre 2007 11:15:55

bon alors execute une requete à la main:
  1. CREATE TABLE `mabdd`.`newsletterbis` (
  2.  
  3. `id` int( 11 ) NOT NULL AUTO_INCREMENT ,
  4. `titre` varchar( 5 ) NOT NULL default '',
  5. `prenom` varchar( 70 ) NOT NULL default '',
  6. `nom` varchar( 70 ) NOT NULL default '',
  7. `email` varchar( 100 ) NOT NULL default '',
  8. PRIMARY KEY ( `id` )
  9. ) ENGINE = MYISAM AUTO_INCREMENT = 319 DEFAULT CHARSET = latin1;
  10.  
  11. insert into `mabdd`.`newsletterbis`select * from `xx`.`yy`;

remplace xx par l'ancienne base et yy par l'ancienne table.

Tom's guide dans le monde
  • Allemagne
  • Italie
  • Irlande
  • Royaume Uni
  • Etats Unis
Suivre Tom's Guide
Inscrivez-vous à la Newsletter
  • ajouter à twitter
  • ajouter à facebook
  • ajouter un flux RSS