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

Administration MySQL Discussion :

Clé primaire et clé étrangère


Sujet :

Administration MySQL

  1. #1
    Membre du Club
    Homme Profil pro
    Inscrit en
    Juillet 2012
    Messages
    52
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2012
    Messages : 52
    Points : 42
    Points
    42
    Par défaut Clé primaire et clé étrangère
    Bonjour à tous,

    Etudiant qui réalise un projet pour ses études, je suis amené à construire un base de données. J'utilise MySQL 5.5.28 et MySQL WorkBench.

    Dans cette base de données existent des tables de liaison pour les cardinalités n-n. Idéalement, elles contiennent le minimum d'informations, à savoir des id pour repérer les lignes associées entre elles.

    Actuellement, j'ai ce genre de construction :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
     
    CREATE TABLE Experience(
    id integer auto_increment,
    primary key (id),
    mesparametres integer
    );
     
    CREATE TABLE ActeurExp(
    id integer auto_increment,
    primary key (id),
    mesparametres integer
    );
     
    CREATE TABLE Lien_Experience_ActeurExp(
    id integer auto_increment,
    primary key (id),
    id_Experience integer,
    id_ActeurExp integer,
    foreign key (id_Experience) references Experience(id) on delete set null,
    foreign key (id_ActeurExp) references ActeurExp(id) on delete set null
    );
    Avec cette structure-là, tout fonctionne. Seulement, j'aimerais me débarrasser de la colonne id de la table Lien_Experience_ActeurExp, et utiliser id_Experience et id_ActeurExp comme clé primaire. Donc m'orienter vers une requête de création de table du genre :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    CREATE TABLE Lien_Experience_ActeurExp(
    id_Experience integer,
    id_ActeurExp integer,
    foreign key (id_Experience) references Experience(id) on delete set null,
    foreign key (id_ActeurExp) references ActeurExp(id) on delete set null,
    primary key (id_Experience, id_ActeurExp)
    );
    C'est là que je bloque : cette requête ne fonctionne pas en tant que tel (error code 1005, errno 150), et après plusieurs heures de recherches sur internet et les forums je n'ai toujours pas trouvé de réponse.

    Avez-vous une solution ?

    Merci d'avance pour vos réponses !

  2. #2
    Expert confirmé
    Homme Profil pro
    Inscrit en
    Mai 2002
    Messages
    3 173
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Mai 2002
    Messages : 3 173
    Points : 5 345
    Points
    5 345
    Par défaut
    Enlevez les contraintes ON DELETE SET NULL.

    Une clef primaire ne peut pas être null

  3. #3
    Membre du Club
    Homme Profil pro
    Inscrit en
    Juillet 2012
    Messages
    52
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2012
    Messages : 52
    Points : 42
    Points
    42
    Par défaut
    Mon problème est résolu !

    Merci beaucoup !

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

Discussions similaires

  1. [AC-2003] Export fichier XML sans clefs primaires et clefs étrangères
    Par Alicedoesnotcare dans le forum Access
    Réponses: 0
    Dernier message: 13/03/2014, 15h02
  2. Réponses: 2
    Dernier message: 27/09/2010, 10h56
  3. [AC-2003] [TABLE] contenu des champs entre une clé primaire et clé étrangère
    Par Chagui dans le forum Modélisation
    Réponses: 2
    Dernier message: 29/07/2010, 15h43
  4. [AC-2002] Modifier clé primaire depuis clé étrangère
    Par Auron89 dans le forum IHM
    Réponses: 15
    Dernier message: 25/06/2010, 09h33
  5. Index, clé primaire et clé étrangère, j'ai du mal à comprendre
    Par sliderman dans le forum SQL Procédural
    Réponses: 2
    Dernier message: 19/02/2008, 12h30

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