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 :

Comment retirer une clé primaire d'une table MYSQL ?


Sujet :

MySQL

  1. #1
    Membre éprouvé
    Avatar de beegees
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2004
    Messages
    3 610
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : Belgique

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

    Informations forums :
    Inscription : Mars 2004
    Messages : 3 610
    Points : 1 277
    Points
    1 277
    Par défaut Comment retirer une clé primaire d'une table MYSQL ?
    Bonjour tout le monde,

    J'ai une question importante :

    J'ai une table "Professeurs" qui contient ceci :

    ID bigint(20) Non
    MATRICULE_PROF text Non
    NOM_PROF text Non
    PRENOM_PROF text Oui NULL
    Email_Prof varchar(50) Non
    J'ai une autre table "Identifiants_Prof" :

    ID bigint(20) Non
    LOGIN text Non
    MATRICULE_PROF text Non
    MDP text Non
    Type_De_Visiteur varchar(15) Non
    Code_Confirmation bigint(15) Non
    Est_Enregistre tinyint(1) Non 0
    J'aimerais :

    1. Comment retirer la clé primaire des deux tables
    2. J'aimerais que les deux tables soient liées avec une clé étrangère, j'aimerais donc que on ne puisse pas insérer un identifiant si le professeur n'existe pas dans la table Professeur. Pensez-vous que je dois travailler avec les ID en clé primaire ou avec la matricule ?
    3. Est-ce que je peux laisser un ID (séquentiel) n'étant pas une clé primaire ?


    Merci d'avance pour votre aide.

    beegees

  2. #2
    Expert confirmé Avatar de fregolo52
    Homme Profil pro
    Développeur C
    Inscrit en
    Août 2004
    Messages
    2 364
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur C

    Informations forums :
    Inscription : Août 2004
    Messages : 2 364
    Points : 5 378
    Points
    5 378
    Par défaut
    Bonjour,

    Vu que ta question m'intéressait, j'ai fait quelques tests et recherches(pour ma culture personnelle).

    (tout est au conditionnel vu que je ne maitrise pas)
    D'après ce que j'ai pu voir, il faudrait garder une clé primaire sur une des 2 tables. Et créer une clé étrangère sur l'autre table, l'ID de cette table ne doit pas être auto incrémenté.
    De plus dans ton cas j'ai l'impression que tes 2 tables ont une relation 1 pour 1.

    Mais ta solution de garder des ID auto incrémenté et de mettre ta clé sur le matricule permet aussi une bonne idée (a confirmer par un expert).

    j'ai fait quelques test en me basant sur ce post dans un forum.

    Mais pour ta 1ere question, je pense que tu ne peux pas retirer la clé primaire des 2 tables.

  3. #3
    Expert confirmé

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

    Informations professionnelles :
    Activité : SDE

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

    Une clé primaire (primary key) sert a définir l'identifiant de ta table. Une clé étrangère (foreigh key) sert a déleguer le contrôle de l'intégrité référentiel au SGBD (ici MySQL).

    Je te conseil de lire cet article qui met en explique l'interet de cette méthode (ce que tu cherche à faire), mais surtout comment le mettre en place.
    http://alaindefrance.wordpress.com
    Certifications : SCJP6 - SCWCD5 - SCBCD5 - SCMAD1
    SDE at BitTitan

Discussions similaires

  1. Comment obtenir la clé primaire d'une table
    Par wodel dans le forum MS SQL Server
    Réponses: 8
    Dernier message: 22/11/2006, 19h59
  2. comment supprimer une clé primaire d'une table ?
    Par polianita dans le forum Access
    Réponses: 10
    Dernier message: 03/08/2006, 15h34
  3. Réponses: 8
    Dernier message: 26/09/2005, 22h06
  4. Comment comment définir une clef primaire dans une table??
    Par nek_kro_kvlt dans le forum Bases de données
    Réponses: 4
    Dernier message: 07/02/2005, 21h06
  5. Comment avoir 2 clés primaires dans une table
    Par Guigui_ dans le forum PostgreSQL
    Réponses: 2
    Dernier message: 18/01/2005, 08h29

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