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

 MySQL Discussion :

probleme avec primary key


Sujet :

MySQL

  1. #1
    Candidat au Club
    Inscrit en
    Mai 2007
    Messages
    7
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 7
    Points : 4
    Points
    4
    Par défaut probleme avec primary key
    salut,
    Je veux déclarer une primary keys mais avec une format spécial par exemple
    Xkv0030 avec une auto incrémentation Pour les trois dernier chiffres
    (030 pour l’exemple) et j arrive pas a trouver la méthode.
    comment faire??
    merci.

  2. #2
    Expert confirmé

    Homme Profil pro
    SDE
    Inscrit en
    Août 2007
    Messages
    2 013
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : SDE

    Informations forums :
    Inscription : Août 2007
    Messages : 2 013
    Points : 4 327
    Points
    4 327
    Par défaut
    Bonjour,

    Je pense que ce cours pourrait t'aider.

  3. #3
    Candidat au Club
    Inscrit en
    Mai 2007
    Messages
    7
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 7
    Points : 4
    Points
    4
    Par défaut
    merci pour le cours il est très utile. mais
    mon problème et de créer un champ clé qui comporte une chaine alphanumérique, les 3 premier lettre c le type de produit et es 3 autre c le numéro de série. et j ai pas trouver une méthode pour faire l'auto incrémentassions, en quelque sorte je veut une auto incrémentassions sur une partie de champ,sans oublier que le champ et alpha numérique.

  4. #4
    Expert confirmé

    Homme Profil pro
    SDE
    Inscrit en
    Août 2007
    Messages
    2 013
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : SDE

    Informations forums :
    Inscription : Août 2007
    Messages : 2 013
    Points : 4 327
    Points
    4 327
    Par défaut
    Justement dans ce cours est décrit plusieurs manière de créer un identifiant, dont un parle de table spécialisé servant a stocker la dernière valeur, et au travers d'une programmation stockée, générer et récupérer un nouvel identifiant.

  5. #5
    Futur Membre du Club
    Inscrit en
    Juillet 2008
    Messages
    10
    Détails du profil
    Informations forums :
    Inscription : Juillet 2008
    Messages : 10
    Points : 8
    Points
    8
    Par défaut
    Slt!
    essaye de declarer deux attributs par exemple:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Premiere_partie VARCHAR(),
    deuxieme_partie INT(3) UNSIGNED AUTO_INCREMENT,
    PRIMARY KEY(Premiere_partie ,deuxieme_partie)
    g lu ça dans un tutoriel de mySql :http://dev.mysql.com/doc/refman/5.0/...increment.html

    mais je sais pas pk ça na pas marché avec moi!! : essaye le!!

  6. #6
    Candidat au Club
    Inscrit en
    Mai 2007
    Messages
    7
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 7
    Points : 4
    Points
    4
    Par défaut
    merci boucoup pour vous deux c tres bien elle marche tres bien?
    seulement j ai une autre question?
    je veut faire une concatenation lors de l'affichage de cette clé, et je compte la faire derectement dans la requte mysql, sans passé par la programation.
    es ce que c possible? et comment?
    merci...

  7. #7
    Futur Membre du Club
    Inscrit en
    Juillet 2008
    Messages
    10
    Détails du profil
    Informations forums :
    Inscription : Juillet 2008
    Messages : 10
    Points : 8
    Points
    8
    Par défaut
    alors ça a marché! c'est bien! pr la concaténation je sais pas pr l'instant mais je vais voir! tu peux voir ma table! ? paske ça na pas marché avc moi!!
    http://www.developpez.net/forums/sho...d.php?t=594232

  8. #8
    Candidat au Club
    Inscrit en
    Mai 2007
    Messages
    7
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 7
    Points : 4
    Points
    4
    Par défaut
    salut, ta requete marche bien j les essayer,
    tu utilise qu'elle langage?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    CREATE TABLE modification(
    numM INT UNSIGNED NOT NULL AUTO_INCREMENT, 
    ref VARCHAR(100) NOT NULL,
    dateM DATE,
    qttE INT UNSIGNED,
    qttS INT UNSIGNED,
    PRIMARY KEY(ref,numM,dateM)
    );
    elle marche corectement.

  9. #9
    Rédacteur/Modérateur

    Avatar de Antoun
    Homme Profil pro
    Architecte décisionnel
    Inscrit en
    Octobre 2006
    Messages
    6 285
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Architecte décisionnel
    Secteur : Conseil

    Informations forums :
    Inscription : Octobre 2006
    Messages : 6 285
    Points : 11 740
    Points
    11 740
    Par défaut
    Citation Envoyé par hocinelux Voir le message
    salut, ta requete marche bien j les essayer,
    tu utilise qu'elle langage?
    Manifestement, du SQL

    Citation Envoyé par buzzyLazy Voir le message
    mais je sais pas pk ça na pas marché avec moi!! : essaye le!!
    C'est une question de moteur de stockage. Passez la requête suivante :
    Code SQL : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    show variables like 'storage_engine' ;
    Je parie que hocinelux a MyISAM tandis que buzzyLazy a InnoDB.

    Citation Envoyé par hocinelux Voir le message
    je veut faire une concatenation lors de l'affichage de cette clé, et je compte la faire derectement dans la requte mysql, sans passé par la programation.
    La concaténation se fait avec la fonction CONCAT(). Pour le formatage du numéro avec des zéros, tu peux utiliser l'option ZEROFILL. Exemple sur la table de buzzyLazy :

    Code SQL : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    CREATE TABLE modification(
    numM INT UNSIGNED ZEROFILL NOT NULL AUTO_INCREMENT, 
    ref VARCHAR(100) NOT NULL,
    dateM DATE,
    qttE INT UNSIGNED,
    qttS INT UNSIGNED,
    PRIMARY KEY(ref,numM,dateM)
    ) ENGINE = MyISAM ;
    
    insert into modification (ref) values ('AAA') ;
    
    SELECT CONCAT(ref, numM) 
    FROM modification ;

  10. #10
    Candidat au Club
    Inscrit en
    Mai 2007
    Messages
    7
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 7
    Points : 4
    Points
    4
    Par défaut
    salut, merci pour votre aide,
    bon j ai une question encore,
    dans votre repense ta mentionné deux types de BDD ,
    et je sais qu'il y plusieurs,myisam et ,merge ,inno DB,
    mais la question:
    c quoi la différence entre ces types de bases?

  11. #11
    Rédacteur/Modérateur

    Avatar de Antoun
    Homme Profil pro
    Architecte décisionnel
    Inscrit en
    Octobre 2006
    Messages
    6 285
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Architecte décisionnel
    Secteur : Conseil

    Informations forums :
    Inscription : Octobre 2006
    Messages : 6 285
    Points : 11 740
    Points
    11 740
    Par défaut
    Ce sont des types de table et non de base. La même base peut sans problème mélanger des tables de différents types.

    En gros, InnoDB vérifie les clés étrangères et permet les transactions. MyISAM ne fait ni l'un ni l'autre, mais il est plus rapide et permet l'indexation FULLTEXT.

    Pour plus de détails, cf http://dev.mysql.com/doc/refman/5.0/...e-engines.html et http://dev.mysql.com/doc/refman/5.0/fr/innodb.html.

  12. #12
    Candidat au Club
    Inscrit en
    Mai 2007
    Messages
    7
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 7
    Points : 4
    Points
    4
    Par défaut
    merci beaucoup...

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

Discussions similaires

  1. Export vers Access avec Primary Key
    Par benjisan dans le forum SAS Base
    Réponses: 3
    Dernier message: 08/02/2010, 13h15
  2. Probleme de primary key
    Par spinakur dans le forum Réseau/Web
    Réponses: 2
    Dernier message: 09/01/2009, 23h12
  3. Create Table Select from avec Primary Key
    Par argyronet dans le forum SQL
    Réponses: 2
    Dernier message: 18/11/2008, 10h49
  4. [IB6]Probleme de Primary key
    Par bonbino dans le forum InterBase
    Réponses: 6
    Dernier message: 03/12/2007, 09h06
  5. [MySQL] Insertion de doublon avec primary key
    Par darkbob dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 29/12/2006, 17h38

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