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

PHP & Base de données Discussion :

Faut-il toujours un champ id autoincrement ? [MySQL]


Sujet :

PHP & Base de données

  1. #1
    Membre Expert

    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    1 278
    Détails du profil
    Informations personnelles :
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Janvier 2005
    Messages : 1 278
    Par défaut Faut-il toujours un champ id autoincrement ?
    Quand on a une table avec un identifiant unique (type login), est-il intéressant de rajouter un champ id dans cette table, de type INT autoincrement PRIMARY KEY ? Notamment dans le cas de nombreuses tables d'associations ?

  2. #2
    Rédacteur
    Avatar de RideKick
    Homme Profil pro
    Directeur technique
    Inscrit en
    Septembre 2006
    Messages
    5 914
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Directeur technique
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Septembre 2006
    Messages : 5 914
    Par défaut
    NON , absolument inutil !

    Si le login doit etre unique dans la table , c est lui le PRIMARY KEY et donc ton champs autoincrement ne sert pas a grand chose !
    Pas de questions techniques en MP please

    Mon site perso

    Mon profil Viadeo

  3. #3
    Membre Expert

    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    1 278
    Détails du profil
    Informations personnelles :
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Janvier 2005
    Messages : 1 278
    Par défaut
    OK. Mais le gain de place et de rapidité n'est-il pas intéressant dans le cadre des tables d'association. J'ai mon user_login qui est un VARCHAR(20), il est une foreign key dans une dizaine de tables d'association. Est-ce que ce ne serait pas plus optimisé si j'utilisais non pas le login mais un id INT autoincrement ?

  4. #4
    Rédacteur
    Avatar de RideKick
    Homme Profil pro
    Directeur technique
    Inscrit en
    Septembre 2006
    Messages
    5 914
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Directeur technique
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Septembre 2006
    Messages : 5 914
    Par défaut
    bah l'avantage si c une foreign key dans plusieurs table ,en autoincremente tu evite de balader des pseudos dans plusieurs table !

    Apres cote performance je suis pas sur que tu sois autant gagnant que ça !
    Pas de questions techniques en MP please

    Mon site perso

    Mon profil Viadeo

  5. #5
    Membre Expert

    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    1 278
    Détails du profil
    Informations personnelles :
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Janvier 2005
    Messages : 1 278
    Par défaut
    OK, merci

  6. #6
    Membre éprouvé
    Homme Profil pro
    Développeur Web
    Inscrit en
    Octobre 2006
    Messages
    1 125
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2006
    Messages : 1 125
    Par défaut
    Mais pas contre dans des tables "normal" (dite table facture,devis,... mais sans jointure), est - t - il obligatoir d'avoir un ID?

  7. #7
    Membre Expert
    Inscrit en
    Janvier 2005
    Messages
    2 291
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 291
    Par défaut
    Non plus, l'Id est surtout là pour les jointures justement ou pour identifier/accéder à des lignes plus rapidement (puisque c'est un entier croissant) qu'avec une chaine de caractères.
    Le fait de le mettre en autoincrement facilite en plus la tache lors de l'insertion pour conserver ces Id uniques et croissants.

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

Discussions similaires

  1. champ avec AUTOINCREMENT
    Par ddeee dans le forum ASP
    Réponses: 1
    Dernier message: 17/09/2008, 16h52
  2. Faut-il toujours utiliser la programmation objet ?
    Par Pierre8r dans le forum Langage
    Réponses: 3
    Dernier message: 12/08/2008, 10h00
  3. Réponses: 5
    Dernier message: 22/10/2007, 15h00
  4. Faut-il toujours choisir le modem du FAI
    Par norac dans le forum Dépannage et Assistance
    Réponses: 12
    Dernier message: 25/08/2006, 17h08
  5. Réponses: 6
    Dernier message: 27/10/2005, 13h58

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