IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

PHP & Base de données Discussion :

Je fais une migration d'une base à une autre. [Débutant(e)] [MySQL]


Sujet :

PHP & Base de données

  1. #1
    Inactif  
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    497
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 497
    Points : 312
    Points
    312
    Par défaut Je fais une migration d'une base à une autre.
    Bonjour,

    Je fais une migration d'une base à une autre.

    Lors de mon import de ma base de données .SQL, (fichier généré via l'outil Export de phpMyAdmin) , le système me dit que j'ai un problème de syntaxe lors de l'import dans ma nouvelle base, à ce niveau :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    requête SQL: 
     
    -- MySQL dump 8.23
    --
    -- Host: localhost Database: wikidb
    ------------------------------------------------------- --
    -- Server version 5.0.24a-standard
    --
    -- Table structure for table `archive`
    --
    CREATE TABLE archive(
     
    ar_namespace int( 11 ) NOT NULL default '0',
    ar_title varchar( 255 ) CHARACTER SET latin1 COLLATE latin1_bin NOT NULL default '',
    ar_text mediumblob NOT NULL ,
    ar_comment tinyblob NOT NULL ,
    ar_user int( 5 ) unsigned NOT NULL default '0',
    ar_user_text varchar( 255 ) CHARACTER SET latin1 COLLATE latin1_bin NOT NULL ,
    ar_timestampchar( 14 ) CHARACTER SET latin1 COLLATE latin1_bin NOT NULL default '',
    ar_minor_edit tinyint( 1 ) NOT NULL default '0',
    ar_flags tinyblob NOT NULL ,
    ar_rev_id int( 8 ) unsigned default NULL ,
    ar_text_id int( 8 ) unsigned default NULL ,
    KEY name_title_timestamp( ar_namespace, ar_title, ar_timestamp ) 
    ) ENGINE = InnoDB DEFAULT 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 '---------------------------------------------------------
    -- Server version    5.0.' at line 1

    Plus précisément, j'ai un pointeur rouge entre ces deux lignes :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    ar_text mediumblob NOT NULL ,
    ar_comment tinyblob NOT NULL ,
    Je ne comprends pas trop le problème. Si le fichier d'exportation génère des erreurs, comment dois-je faire ?

    Merci.

  2. #2
    Nouveau membre du Club
    Homme Profil pro
    Inscrit en
    Août 2008
    Messages
    24
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations forums :
    Inscription : Août 2008
    Messages : 24
    Points : 30
    Points
    30
    Par défaut
    Bonjour

    Les deux serveurs ont ils la même version de MySQL ?
    Il me semble que dans phpMyAdmin il y a dans les options d'import/export, une case "Mode de compatibilité SQL" où on peut indiquer une version, essaies de voir avec cette option.

  3. #3
    Inactif  
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    497
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 497
    Points : 312
    Points
    312
    Par défaut
    oui, il y a :

    Options SQL
    Mode de compatibilité SQL

    et il est à la valeur NONE par défaut.
    Saurais-tu quelle argument faut-il mettre ? Car normalement c'est exactement la même base...


    j'ai installé exactement la même version WAMP des deux cotés.
    (bizarre)

    Merci

  4. #4
    Membre actif
    Profil pro
    Développeur Web
    Inscrit en
    Mai 2008
    Messages
    185
    Détails du profil
    Informations personnelles :
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Mai 2008
    Messages : 185
    Points : 225
    Points
    225
    Par défaut
    Bonjour,

    Pour ce qui est des bizzareries de MySQL :

    Il arrive à planter en parsant des commentaires
    Si le fichier est trop gros à son goût, il se réserve le droit de planter inopinément

    Donc essaye de virer les commentaires et d'envoyer tes requêtes de création une par une, des fois, ça marche ( testé et approuvé, comme méthode )
    Sinon, je vois pas d'erreur particulière dans ton bout de sql ... donc pas de raisons que ça plante o:

    Bonne chance !

    PS :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
     
    CREATE TABLE archive(
    ar_namespace int( 11 ) NOT NULL default '0',
    ar_title varchar( 255 ) CHARACTER SET latin1 COLLATE latin1_bin NOT NULL default '',
    ar_text mediumblob NOT NULL ,
    ar_comment tinyblob NOT NULL ,
    ar_user int( 5 ) unsigned NOT NULL default '0',
    ar_user_text varchar( 255 ) CHARACTER SET latin1 COLLATE latin1_bin NOT NULL ,
    ar_timestamp varchar( 14 ) CHARACTER SET latin1 COLLATE latin1_bin NOT NULL default '',
    ar_minor_edit tinyint( 1 ) NOT NULL default '0',
    ar_flags tinyblob NOT NULL ,
    ar_rev_id int( 8 ) unsigned default NULL ,
    ar_text_id int( 8 ) unsigned default NULL ,
    KEY name_title_timestamp( ar_namespace, ar_title, ar_timestamp )
    ) ENGINE = InnoDB DEFAULT CHARSET = latin1;
    ar_timestampchar( 14 ) posait un problème, j'ai changé par ar_timestamp varchar( 14 )
    Testé à l'instant et ça marche

  5. #5
    Inactif  
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    497
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 497
    Points : 312
    Points
    312
    Par défaut
    oui, exactement !

    A tout hasard j'ai supprimé les comments et ce sont bien eux qui mettent le bordel.

    sacré filou ce mySQL !

    Merci.

    ps: je vais tester, juste en faisant des modif sur les comments. sans trop bidouiller la struture, envoyer les requêtes une à une d'un fichier de 17mo non zippé c'est ... trop fastidieux, mais si y a pas le choix ...

    Merci encore

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 5
    Dernier message: 14/12/2013, 18h10
  2. Réponses: 3
    Dernier message: 22/08/2010, 17h40
  3. Réponses: 2
    Dernier message: 05/03/2010, 14h15
  4. Réponses: 1
    Dernier message: 11/02/2009, 06h33
  5. Réponses: 4
    Dernier message: 13/08/2008, 15h29

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo