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

Requêtes MySQL Discussion :

Erreur lors de la conversion de MyISSAM vers InnoDB


Sujet :

Requêtes MySQL

  1. #1
    Membre habitué Avatar de faico
    Inscrit en
    Août 2005
    Messages
    242
    Détails du profil
    Informations forums :
    Inscription : Août 2005
    Messages : 242
    Points : 179
    Points
    179
    Par défaut Erreur lors de la conversion de MyISSAM vers InnoDB
    Salam,
    Losque je veux convertir mes table de type MyIssam en InnoDB Mysql me donne l'erreur suivante :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    #1025 - Erreur en renommant '.\dbproduc\#sql-ce8_53' en '.\dbproduc\definitionstyle' (Errcode: 121)
    my table s'appelle definitionstyle, je fait cette opération par PhpMyAdmin.
    Et lorsque je choisis un autre type que InnoDB cela marche bien
    Est ce qu'il y a quelqu'un qui peux me dire ce type d'erreur est dû à quoi au juste ?

  2. #2
    Expert éminent
    Avatar de berceker united
    Profil pro
    SQL
    Inscrit en
    Février 2005
    Messages
    3 488
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : SQL
    Secteur : Finance

    Informations forums :
    Inscription : Février 2005
    Messages : 3 488
    Points : 6 037
    Points
    6 037
    Par défaut
    Peut être que ta table était en cours d'utilisation. regarde le code erreur sur le site de mysql.
    Mon avatar ? Ce n'est rien, c'est juste la tête que je fais lorsque je vois un code complètement frappa dingue !...

  3. #3
    Membre habitué Avatar de faico
    Inscrit en
    Août 2005
    Messages
    242
    Détails du profil
    Informations forums :
    Inscription : Août 2005
    Messages : 242
    Points : 179
    Points
    179
    Par défaut
    Salam,
    Non c'est pas cela , lors de la conversion les tables ne sont pas utilisés, et lorsque je cherche lasighification du code d'erreur donné je trouve le même message que je vous ai montré !?

  4. #4
    Expert éminent
    Avatar de berceker united
    Profil pro
    SQL
    Inscrit en
    Février 2005
    Messages
    3 488
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : SQL
    Secteur : Finance

    Informations forums :
    Inscription : Février 2005
    Messages : 3 488
    Points : 6 037
    Points
    6 037
    Par défaut
    n'y a t'il pas une histoire de verrou ?
    Dans le pire des cas tu recrées la table avec la même structure mais pas le même non. Tu copies les enregistrements, tu renomes la table source (en cas ou pour revenir dessus) et tu renomes avec le nom d'origine la nouvelle tables.
    Mon avatar ? Ce n'est rien, c'est juste la tête que je fais lorsque je vois un code complètement frappa dingue !...

  5. #5
    Membre habitué Avatar de faico
    Inscrit en
    Août 2005
    Messages
    242
    Détails du profil
    Informations forums :
    Inscription : Août 2005
    Messages : 242
    Points : 179
    Points
    179
    Par défaut
    Salam,
    Non pas de verrou ! cela marche si je choisi un autre type que InnoDB comme BerkeleyDB ?????

  6. #6
    Membre habitué Avatar de faico
    Inscrit en
    Août 2005
    Messages
    242
    Détails du profil
    Informations forums :
    Inscription : Août 2005
    Messages : 242
    Points : 179
    Points
    179
    Par défaut
    Salam,
    Est ce que cela peut etre dû aux indices ou aux clés primaires ?

  7. #7
    Membre habitué Avatar de faico
    Inscrit en
    Août 2005
    Messages
    242
    Détails du profil
    Informations forums :
    Inscription : Août 2005
    Messages : 242
    Points : 179
    Points
    179
    Par défaut
    Salam,
    Sinon si vous connaisser une code php pour qui crée des tables vides en InnoDB puis les remplis avec les données des tables MyIsam ??
    J'ai pas bcp de temps et ma base est aussi grosse !
    Et Merci d'avance .

  8. #8
    Membre éprouvé
    Avatar de Biglo
    Profil pro
    Inscrit en
    Juillet 2002
    Messages
    537
    Détails du profil
    Informations personnelles :
    Localisation : France, Moselle (Lorraine)

    Informations forums :
    Inscription : Juillet 2002
    Messages : 537
    Points : 984
    Points
    984
    Par défaut
    Salut,

    Pas besoin de script PHP. MySQL permet de dupliquer des tables bien plus facilement (et rapidement surtout) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    CREATE TABLE tInnoDB ENGINE=innodb SELECT * FROM tMyIsam;
    Petit problème avec la méthode : tu perds les index, et il faut les rajouter manuellement par après. Donc au pire, tu peux reprendre le code de création de table MyISAM en modifiant le moteur en InnoDB. Puis :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    INSERT INTO tInnoDB SELECT * FROM tMyIsam;

  9. #9
    Membre émérite Avatar de Maximil ian
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    2 622
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 2 622
    Points : 2 973
    Points
    2 973
    Par défaut
    Salut,

    Si tu veux en savoir plus sur le code d'erreur tape "perror 121" en ligne de commande.

    Pour créer ta table InnoDB fais un mysqldump de l'ancienne et rajoute ENGINE = InnoDB à la fin de l'ordre de création de la table.
    Pensez au bouton

  10. #10
    Membre habitué Avatar de faico
    Inscrit en
    Août 2005
    Messages
    242
    Détails du profil
    Informations forums :
    Inscription : Août 2005
    Messages : 242
    Points : 179
    Points
    179
    Par défaut
    Salam,
    et pour la conversion ? pas de solution ?

  11. #11
    Membre éprouvé
    Avatar de Biglo
    Profil pro
    Inscrit en
    Juillet 2002
    Messages
    537
    Détails du profil
    Informations personnelles :
    Localisation : France, Moselle (Lorraine)

    Informations forums :
    Inscription : Juillet 2002
    Messages : 537
    Points : 984
    Points
    984
    Par défaut
    Donne plus de détails car là, à moins d'avoir déjà eu exactement la même erreur dans le passé, c'est pas évident de trouver !

    Tu as essayé avec plusieurs tables ?

    Si tu recrées une copie de table (vide) en MyISAM et que tu la convertis en InnoDB, ça fonctionne ?

    As-tu défini des clés étrangères avec tes tables MyISAM ? Et si oui, as-tu vérifié que l'intégrité référentielle est correcte (un SELECT ... NOT IN permettra de le faire rapidement) ?

    Quelle version de MySQL ?

    Peut-on avoir le code d'une table que tu n'arrives pas à convertir (avec éventuellement quelques INSERT) ?

    Voilà, avec ça, ça devrait augmenter les chances de trouver une solution

  12. #12
    Membre habitué Avatar de faico
    Inscrit en
    Août 2005
    Messages
    242
    Détails du profil
    Informations forums :
    Inscription : Août 2005
    Messages : 242
    Points : 179
    Points
    179
    Par défaut
    Salam,
    Oui j'ai essayé avec plusieurs tables, et pour les tables vides cela marche bien .
    Et pour les clés étrangéres , est il possible de les créer avec des tables MyISAM dans MySQL 4.1 ? je ne le pense pas ?!
    j'ai Oubliée de dire un truc tres imporatant c'est que j'ai convertis une base MsAccess , mais avec des basesque j'ai déjà converti j'arrive à convertir les tables .
    En plus de cela pourquoi seul InnoDB qui me pose des problémes ??

  13. #13
    Membre éprouvé
    Avatar de Biglo
    Profil pro
    Inscrit en
    Juillet 2002
    Messages
    537
    Détails du profil
    Informations personnelles :
    Localisation : France, Moselle (Lorraine)

    Informations forums :
    Inscription : Juillet 2002
    Messages : 537
    Points : 984
    Points
    984
    Par défaut
    Citation Envoyé par faico
    Et pour les clés étrangéres , est il possible de les créer avec des tables MyISAM dans MySQL 4.1 ? je ne le pense pas ?!
    Oui et non en fait. La syntaxe des clés étrangères est acceptée avec MyISAM pour raison de compatibilité. Mais je croyais que MySQL conservait cette info et que si on convertissait en InnoDB, les clés étrangères seraient là... Je viens de vérifier mais en fait MySQL ne fait qu'ignorer le FOREIGN KEY (il place un index quand même) pour MyISAM.

    Citation Envoyé par faico
    En plus de cela pourquoi seul InnoDB qui me pose des problémes ??
    C'est une bonne question. On ne peut pas avoir un code pour tester chez nous ?

Discussions similaires

  1. Erreur lors de la conversion Excel vers kml
    Par ammourabizerte dans le forum Langage
    Réponses: 1
    Dernier message: 05/03/2013, 10h51
  2. erreur lors d'envoi de données excel vers word
    Par pael013 dans le forum Macros et VBA Excel
    Réponses: 15
    Dernier message: 15/05/2008, 14h23
  3. Erreur lors de la conversion d'une requête SELECT en DELETE
    Par SamLeChiseuji dans le forum Requêtes et SQL.
    Réponses: 9
    Dernier message: 11/07/2007, 15h09
  4. Réponses: 2
    Dernier message: 21/06/2004, 15h55

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