Partage
  • Partager sur Facebook
  • Partager sur Twitter

puis je auto incrementé un champ qui n'est pas un id

destiné au pro

Sujet résolu
    26 juillet 2010 à 13:19:46

    bonjour les zeros,

    j'ai une question qui me tracasse je possedes un champ reference detail:

    int(2)
    unsigned zero fill
    not null

    ce champ contient une partie de la reference d'un produit c'est la partie rayon de la reference j'ai 12 rayon actuellement j'en aurais pas plus de 20.

    l'administrateur pourra ajouter des nouveaux rayon dans la partie admin du site.

    ma question puis je auto incrémenter ce champ.

    sachant que ce n'est pas l'id mes un champ reference.

    merci a vous,
    • Partager sur Facebook
    • Partager sur Twitter
      26 juillet 2010 à 13:46:47

      salut à toi tu travailles avec qu'elle type de base de donnée parce que je sais que sous postgres tu crée une séquence sur le champ à auto-incrémenter et dans ton code tu met 'nextval'(nom_table_nom_seq_seq') après je sais pas si sous MySQL on peut le faire mais je pense que oui.
      • Partager sur Facebook
      • Partager sur Twitter
        26 juillet 2010 à 23:27:42

        Citation : damdamien

        l'administrateur pourra ajouter des nouveaux rayon dans la partie admin du site.



        Donc tu as des rayons donc une table rayons dont l'id est en auto_increment et donc pour un nouveau rayon ça te génère une id... où est le problème ?
        • Partager sur Facebook
        • Partager sur Twitter
          26 juillet 2010 à 23:39:54

          merci a vous deux

          lord casque noir le problème étais que je différencie la référence de l'id et que je souhaiter auto incrementer ma référence mais j'ai résolu le problème enfin on a résolu le problème.

          (lord casque noir si tu cherche du boulot hésite pas à utilisé mon mp , nous cherchons des gens compétent pour un futur projet (je veux pas te flatter mais t'es compétence pourrais nous être bénéfique)).

          merci les gars bonne journée

          ah la solution que nous avons trouver

          ((
          SELECT
          `reference`
          FROM
          `rayon`
          ORDER BY
          `idRayon` DESC
          LIMIT
          1
          ) + 1)
          • Partager sur Facebook
          • Partager sur Twitter
            27 juillet 2010 à 9:28:05

            En suivant ton exemple, tu peux faire plus court :
            ((SELECT MAX(reference) FROM rayon)+1)
            

            Ca te sélectionne la référence la plus grande (donc logiquement la dernière).
            • Partager sur Facebook
            • Partager sur Twitter
              27 juillet 2010 à 11:04:48

              N'oublie pas de mettre un index UNIQUE dessus : le coup du max() n'empêche pas 2 insertions simultanées avec la même valeur...
              • Partager sur Facebook
              • Partager sur Twitter

              puis je auto incrementé un champ qui n'est pas un id

              × 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