Partage
  • Partager sur Facebook
  • Partager sur Twitter

Problèmes d'auto_increment

Sujet résolu
    17 juin 2010 à 12:19:22

    Bonjour,

    J'utilise MySQL 5.1.41 et j'ai des difficultés avec les AUTO_INCREMENT. Est-il possible de mettre l'auto increment ailleurs que sur la clé primaire ? Je m'explique, j'ai une table avec id INT, un login VARCHAR et un mdp VARCHAR. Je veux que chaque login soit unique donc c'est ma clé primaire. Mais je veux aussi que l'id s'auto-incrémente à chaque insertion. Est-ce possible ?

    Autre problème, je n'arrive pas à remettre l'auto-incrément à 0 : j'ai bien tenté ALTER TABLE PCA.USERS AUTO_INCREMENT=0, rien n'y fait, je dois supprimer ma table pour repartir de 0.

    Merci de votre aide
    • Partager sur Facebook
    • Partager sur Twitter
    Anonyme
      17 juin 2010 à 12:59:20

      Citation : Guilo


      J'utilise MySQL 5.1.41 et j'ai des difficultés avec les AUTO_INCREMENT. Est-il possible de mettre l'auto increment ailleurs que sur la clé primaire ?


      Non. MySQL l'interdit. Une colonne auto-incrémentée doit faire parti de la PK.

      Citation : Guilo


      Je m'explique, j'ai une table avec id INT, un login VARCHAR et un mdp VARCHAR. Je veux que chaque login soit unique donc c'est ma clé primaire. Mais je veux aussi que l'id s'auto-incrémente à chaque insertion. Est-ce possible ?


      Dans ton cas, login est une clé alternative.
      Il faut créer une contrainte d'unicité sur cette colonne:
      CONSTRAINT uk_login UNIQUE (login)

      Citation : Guilo


      Autre problème, je n'arrive pas à remettre l'auto-incrément à 0 : j'ai bien tenté ALTER TABLE PCA.USERS AUTO_INCREMENT=0, rien n'y fait, je dois supprimer ma table pour repartir de 0.


      Ça ne sert à rien de remettre une colonne auto-incrémentée "à 0" puisque de toutes façon les valeurs n'ont aucune signification.
      • Partager sur Facebook
      • Partager sur Twitter
        17 juin 2010 à 13:48:24

        Merci, c'est parfait

        Une petite question supplémentaire : est-il possible de définir la Unique Key sur un couple de colonnes ? J'ai essayé en définissant deux clés mais elles ne prennent pas en compte l'aspect "couple" de la chose.

        Merci

        EDIT : UNIQUE KEY `value1` (`value1`, `value2`) et le tour est joué
        • Partager sur Facebook
        • Partager sur Twitter

        Problèmes d'auto_increment

        × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
        × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
        • Editeur
        • Markdown