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

Requêtes MySQL Discussion :

errno:121 + clé étrangère pas ajoutée


Sujet :

Requêtes MySQL

  1. #1
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2012
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juin 2012
    Messages : 7
    Points : 4
    Points
    4
    Par défaut errno:121 + clé étrangère pas ajoutée
    Bonjour
    Merci pour votre attention!
    voilà
    en voulant créer une base de donnée j'ai l'erreur suivante

    ERROR 1005 (HY000): Can't create table 'pfe2012.#sql-6e8_3' (errno: 121)

    et en vérifiant ma base après exécution du code j'ai remarqué que la "clé étrangère" codeAG dans la table Dab n'a pas été mise en tant que clé étrangère.

    je ne comprend pas d'ou vient l'erreur

    Merci pour votre aide


    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
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    /*==============================================================*/
    /* DBMS name:      MySQL 5.0                                    */
    /* Created on:     31/03/2012 09:26:13                          */
    /*==============================================================*/
     
     
    drop table if exists Agence;
     
    drop table if exists Arret;
     
    drop table if exists Banque;
     
    drop table if exists Dab;
     
    drop table if exists Typepanne;
     
    drop table if exists Utilisateur;
     
     
    /*==============================================================*/
    /* Table: Agence                                                */
    /*==============================================================*/
    create table Agence
    (
       CodeAgence           varchar(20) not null UNIQUE,
       Adresse              varchar(40) NOT NULL,
       ChefAgence           varchar(20) NOT NULL UNIQUE,
       nombq                varchar(19) DEFAULT 'Banque de l"Habitat' not null,
       primary key (CodeAgence)
    )
    ENGINE = InnoDB;
     
    /*==============================================================*/
    /* Table: Arret                                                 */
    /*==============================================================*/
    create table Arret
    (
       Num int(11) NOT NULL AUTO_INCREMENT,
       NumDab  int(11) NOT NULL, 
       DateD_arret  date NOT NULL,
       heureD_arret  time DEFAULT NULL,
       Codepannes  int(11) NOT NULL,
       Datereprise  date DEFAULT NULL,
       Heurereprise  time DEFAULT NULL,
       Duree  time DEFAULT NULL,
       Ordre  int(11) DEFAULT NULL,
       EtatD_arret  varchar(10) NOT NULL,
       primary key (Num)
    )
    ENGINE = InnoDB;
     
    /*==============================================================*/
    /* Table: Banque                                                */
    /*==============================================================*/
    create table Banque
    (
       Nom                  varchar(19) DEFAULT 'Banque de l"Habitat' not null,
       Adresse              varchar(35) DEFAULT '18 avenue Mohamed V 1080 Tunis',  
       primary key (Nom)
    )
    ENGINE = InnoDB;
     
    /*==============================================================*/
    /* Table: Dab                                                   */
    /*==============================================================*/
    create table Dab
    (
       numdab  int(11) NOT NULL AUTO_INCREMENT,   
       Fournisseur  varchar(20) NOT NULL,
       DateD_installaion  date NOT NULL,
       codeAG  varchar(20) NOT NULL,
       localite  varchar(20) DEFAULT NULL,
       primary key (numdab)
    )
    ENGINE = InnoDB;
     
    /*==============================================================*/
    /* Table: Panne                                                 */
    /*==============================================================*/
    create table Typepanne
    (
       Codepanne int(11) NOT NULL AUTO_INCREMENT,
       libele VARCHAR(255) NOT NULL UNIQUE,
       description VARCHAR(255),
       PRIMARY KEY (Codepanne)
    )
    ENGINE = InnoDB;
     
     
    /*==============================================================*/
    /* Table: Utilisateur                                           */
    /*==============================================================*/
    create table Utilisateur
    (
       NomU varchar(25) NOT NULL UNIQUE,
       Login varchar(12) NOT NULL UNIQUE,
       Code varchar(10) NOT NULL UNIQUE,
       Pwds varbinary(16) NOT NULL,
       nombq char(19) DEFAULT 'Banque de l"Habitat',
       primary key (NomU)
    )
    ENGINE = InnoDB;
     
    alter table Agence add constraint BANQUE foreign key (nombq)
          references Banque (Nom) ON DELETE CASCADE ON UPDATE CASCADE;
     
    alter table Arret add constraint PANNE foreign key (Codepannes)
          references Typepanne (Codepanne) ON DELETE CASCADE ON UPDATE CASCADE;
     
    alter table Arret add constraint DAB foreign key (NumDab)
          references Dab (numdab) ON DELETE CASCADE ON UPDATE CASCADE;
     
    alter table Dab add constraint BANQUE foreign key (codeAG)
          references Agence (CodeAgence) ON DELETE CASCADE on UPDATE CASCADE;
     
    alter table Utilisateur add constraint UTILISATEUR foreign key (nombq)
          references Banque (Nom) ON DELETE CASCADE ON UPDATE CASCADE;

  2. #2
    Modérateur

    Avatar de CinePhil
    Homme Profil pro
    Ingénieur d'études en informatique
    Inscrit en
    Août 2006
    Messages
    16 799
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur d'études en informatique
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2006
    Messages : 16 799
    Points : 34 031
    Points
    34 031
    Billets dans le blog
    14
    Par défaut
    Il y aurait des choses à dire sur la structure des tables mais ce n'est pas le sujet...

    Les autres clés étrangères se sont bien créées ?
    Si oui, je ne vois pas de différence avec la clé étrangère manquante.
    Si non, indexe les colonnes portant les clés étrangères avant de déclarer la clé étrangère.
    Philippe Leménager. Ingénieur d'étude à l'École Nationale Supérieure de Formation de l'Enseignement Agricole. Autoentrepreneur.
    Mon ancien blog sur la conception des BDD, le langage SQL, le PHP... et mon nouveau blog sur les mêmes sujets.
    « Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément ». (Nicolas Boileau)
    À la maison comme au bureau, j'utilise la suite Linux Mageïa !

  3. #3
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Juin 2011
    Messages
    445
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Juin 2011
    Messages : 445
    Points : 622
    Points
    622
    Par défaut
    Remplace :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    ALTER TABLE Dab ADD constraint BANQUE FOREIGN KEY (codeAG)
          REFERENCES Agence (CodeAgence) ON DELETE CASCADE ON UPDATE CASCADE;
    par :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    ALTER TABLE Dab ADD constraint AGENCE FOREIGN KEY (codeAG)
          REFERENCES Agence (CodeAgence) ON DELETE CASCADE ON UPDATE CASCADE;

  4. #4
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2012
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juin 2012
    Messages : 7
    Points : 4
    Points
    4
    Par défaut
    Citation Envoyé par Fred_34 Voir le message
    Remplace :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    ALTER TABLE Dab ADD constraint BANQUE FOREIGN KEY (codeAG)
          REFERENCES Agence (CodeAgence) ON DELETE CASCADE ON UPDATE CASCADE;
    par :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    ALTER TABLE Dab ADD constraint AGENCE FOREIGN KEY (codeAG)
          REFERENCES Agence (CodeAgence) ON DELETE CASCADE ON UPDATE CASCADE;


    Merci Fred j'ai pas fait attention a la nomenclature... c'est du à la fatigue
    maintenant sa marche!!!

    merci aussi CinePhil

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

Discussions similaires

  1. je n'arrive pas à ajouter le jar antcontrib
    Par dalvarokill dans le forum ANT
    Réponses: 3
    Dernier message: 03/03/2009, 10h03
  2. Clé étrangère pas prise en compte..
    Par Whinespirit dans le forum Outils
    Réponses: 8
    Dernier message: 04/09/2007, 14h35
  3. Réponses: 4
    Dernier message: 25/06/2007, 15h05
  4. Réponses: 1
    Dernier message: 09/02/2007, 09h45
  5. Réponses: 6
    Dernier message: 29/03/2006, 11h22

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