Partage
  • Partager sur Facebook
  • Partager sur Twitter

Modification impossible d'une table dans ma BDD

Erreur 1709 rend impossible une quelconque modification

Sujet résolu
    2 août 2022 à 22:11:09

    Bonjour,

    Je suis actuellement le cours 'Implémentez vos bases de données relationnelles avec MySQL' et depuis la partie où nous devions ajouter la table "utilisateur", MySQL me signale cette erreur à chaque action sur cette dernière.

    ERROR 1709 (HY000): Index column size too large. The maximum column size is 767 bytes.

    Voici ma table utilisateur :

    +-----------+--------------+------+-----+---------+----------------+
    | Field     | Type         | Null | Key | Default | Extra          |
    +-----------+--------------+------+-----+---------+----------------+
    | id        | int          | NO   | PRI | NULL    | auto_increment |
    | prenom    | varchar(100) | YES  |     | NULL    |                |
    | email     | varchar(500) | YES  | UNI | NULL    |                |
    | langue_id | int          | NO   | MUL | NULL    |                |
    +-----------+--------------+------+-----+---------+----------------+

    Le problème viendrait apparemment du Varchar(500) sur l'email mais lorsque j'essaye de changer le type de données, la même erreur apparaît encore et encore. Je voudrais savoir comment palier ce problème.

    Je vous remercie d'avance pour votre aide.


    • Partager sur Facebook
    • Partager sur Twitter
      3 août 2022 à 15:50:51

      Bonjour,

      Un VARCHAR est limité à 255 caractères. J'ai du mal à comprendre comment tu as pu créer ta colonne avec 500 ...

      Tu peux faire un DROP COLUMN puis la recréer.

      • Partager sur Facebook
      • Partager sur Twitter
      Seul on va plus vite, ensemble on va plus loin ... A maîtriser : Conception BDD, MySQL, PHP/MySQL
        3 août 2022 à 23:16:34

        Je ne sais pas non plus comment le varchar est à 500 caractères cependant lorsque je tente une quelconque modification ou suppression de la colonne, la même erreur est retournée. Peut-être que le problème vient des fichiers internes de mySQL, toutefois je ne peux ni modifier ni supprimer la table même avec phpMyAdmin.
        • Partager sur Facebook
        • Partager sur Twitter
          5 août 2022 à 23:06:12

          As-tu essayé directement en ligne de commande dans la console MySQL ?

          • Partager sur Facebook
          • Partager sur Twitter
          Seul on va plus vite, ensemble on va plus loin ... A maîtriser : Conception BDD, MySQL, PHP/MySQL
            9 août 2022 à 1:53:32

            J'ai essayé dans la commande MySQL et phpMyAdmin, l'erreur 1709 est toujours renvoyée. J'ai vu sur plusieurs forums que le problème viendrait de la variable "innodb-default-row-format" du fichier my.ini de SQL, apparemment il faut lui attribuer la valeur :

             innodb-default-row-format=dynamic

            Même après cela, ça ne fonctionne toujours pas. Et il faut également modifier une option de la table en question en mettant

             ROW-FORMAT = DYNAMIC

            Mais quand je tente de changer la valeur du ROW-FORMAT sur MySQL ou PhpMyAdmin, il y a encore la même erreur. Finalement chaque solution proposée pour résoudre cette erreur m'amène à une requête SQL, qui m'est justement impossible à réaliser dans la table utilisateur.

            Etant donné que j'ai terminé le cours, je n'utilise plus la bdd en question mais j'aimerais quand même trouver la solution au cas où je rencontre de nouveau le problème et aussi pour les autres personnes qui aurait cette erreur. Si cette dernière semble vraiment impossible à résoudre je pense que réinstaller wamp serait la seule solution car je ne connais même pas l'origine exacte du problème.

            -
            Edité par Kreiler 9 août 2022 à 1:56:19

            • Partager sur Facebook
            • Partager sur Twitter
              9 août 2022 à 9:10:24

              Je ferais un dump SQL de la base, supprimerais la base existante, modifierais le SQL de la colonne en question (255 au lieu de 500) et réimporterais le tout.

              • Partager sur Facebook
              • Partager sur Twitter
              Seul on va plus vite, ensemble on va plus loin ... A maîtriser : Conception BDD, MySQL, PHP/MySQL
                Hier à 5:43

                Quels sont les étapes pour réaliser un dump SQL de la base car je ne trouve pas de méthodes exactes sur Internet.
                • Partager sur Facebook
                • Partager sur Twitter
                  Hier à 9:02

                  Depuis PHPMyAdmin il suffit salle dans l'onglet Exporter et de choisir le format SQL.

                  Et onglet Importer pour la suite ...

                  -
                  Edité par Benzouye hier à 9:02

                  • Partager sur Facebook
                  • Partager sur Twitter
                  Seul on va plus vite, ensemble on va plus loin ... A maîtriser : Conception BDD, MySQL, PHP/MySQL
                    Il y a environ 12 heures

                    J'ai déjà exporter ma bdd par contre je ne peux pas la supprimer, même avec la commande mySQL car l'erreur 1709 est retournée. Je pense que la seule solution c'est de réinstaller wamp.
                    • Partager sur Facebook
                    • Partager sur Twitter
                      Il y a environ 11 heures

                      Surprenant...

                      La réinstallation me semble en effet nécessaire...

                      • Partager sur Facebook
                      • Partager sur Twitter
                      Seul on va plus vite, ensemble on va plus loin ... A maîtriser : Conception BDD, MySQL, PHP/MySQL

                      Modification impossible d'une table dans ma BDD

                      × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
                      • Editeur
                      • Markdown