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

Langage SQL Discussion :

UNIQUE vs. PRIMARY KEY


Sujet :

Langage SQL

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éprouvé
    Homme Profil pro
    Technophile Web
    Inscrit en
    Mai 2007
    Messages
    930
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Technophile Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mai 2007
    Messages : 930
    Par défaut UNIQUE vs. PRIMARY KEY
    Bonjour,

    Je ne sais pas trop la différence entre UNIQUE et PRIMAREY KEY
    tout ce que je sais c'est que j'ai créer un champ UNIQUE (sous MySQL)
    que j'ai mis en clé primaire.
    Donc
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     CREATE TABLE `toto` (`id` INT (4) UNIQUE, CONSTRAINT PRIMARY KEY (`id`)) ;
    mais phpmyadmin m'averti que la table contient deux index

    ça veut dire quoi ?

  2. #2
    Modérateur
    Avatar de al1_24
    Homme Profil pro
    Retraité
    Inscrit en
    Mai 2002
    Messages
    9 136
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Retraité
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2002
    Messages : 9 136
    Par défaut
    La clé primaire d'une table est par essence unique puisqu'elle permet d'identifier chaque ligne de la table. Elle peut porter sur une ou plusieurs colonnes. Elle sert de référence par défaut pour les contraintes de clé étrangère sur d'autres tables.
    Par ailleurs, il est possible de définir un contrainte d'unicité sur d'autres colonnes que la clé primaire de la table.

    Exemple : une table comportant un identifiant numérique en clé primaire et un libellé dont on souhaite qu'il soit unique. Les références externes s'effectuent sur la clé primaire qui peut être cachée à l'utilisateur, qui ne verra que le libellé.

    L'erreur que te rapporte ton SGBD doit sans doute correspondre au fait que tu crées deux index équivalents sur la même colonne.
    Modérateur Langage SQL
    Règles du forum Langage SQL à lire par tous, N'hésitez pas à consulter les cours SQL
    N'oubliez pas le bouton et pensez aux balises
    [code]
    Si une réponse vous a aidé à résoudre votre problème, n'oubliez pas de voter pour elle en cliquant sur
    Aide-toi et le forum t'aidera : Un problème exposé sans mentionner les tentatives de résolution infructueuses peut laisser supposer que le posteur attend qu'on fasse son travail à sa place... et ne donne pas envie d'y répondre.

  3. #3
    Membre éprouvé
    Homme Profil pro
    Technophile Web
    Inscrit en
    Mai 2007
    Messages
    930
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Technophile Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mai 2007
    Messages : 930
    Par défaut
    oki

    merci de ta réponse

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

Discussions similaires

  1. Explication sur PRIMARY KEY et UNIQUE
    Par FaridM dans le forum Langage SQL
    Réponses: 3
    Dernier message: 07/02/2011, 11h06
  2. Réponses: 2
    Dernier message: 25/11/2010, 11h52
  3. Unique Key et Primary Key
    Par grunk dans le forum Débuter
    Réponses: 8
    Dernier message: 04/03/2010, 16h20
  4. Réponses: 8
    Dernier message: 14/12/2009, 09h10
  5. PRIMARY KEY - UNIQUE - INDEX
    Par Thierry8 dans le forum Requêtes
    Réponses: 4
    Dernier message: 16/12/2005, 23h28

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