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

SQL Procédural MySQL Discussion :

problème d' UPDATE de mes tables MySQL


Sujet :

SQL Procédural MySQL

  1. #1
    Membre du Club
    Inscrit en
    Juin 2006
    Messages
    69
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 69
    Points : 49
    Points
    49
    Par défaut problème d' UPDATE de mes tables MySQL
    Bonjour,
    j'ai un problème pour la mise a jour de mes tables de ma bd MySQL. Mes commandes php me donnent des messages d'erreurs. Je ne sais pas comment faire pour UPDATE des tables quand elles contiennent des clefs étrangères d'autres tables.

    Voila mes tables :

    ma table mission (table mère) :
    create table mission(CodeMission Int(5),Details Varchar(50),Groupement Varchar(2),Lieu Varchar(50),Datedebut date,Datefin date,Previsible boolean,PRIMARY KEY(CodeMission,Groupement,DateDebut,DateFin));

    ma table avoir :
    create table avoir(CodeMission Int(5),Groupement Varchar(2),Datedebut date,Datefin date,FamilleMission Varchar(50),PRIMARY KEY(CodeMission,Groupement,Datedebut,Datefin,FamilleMission),FOREIGN KEY(CodeMission,Groupement,Datedebut,Datefin) REFERENCES mission(CodeMission,Groupement,Datedebut,Datefin),FOREIGN KEY(FamilleMission) REFERENCES type_mission(FamilleMission));

    ma table est_effectuee :
    create table est_effectuee(Matricule Varchar(12),CodeMission Int(5),Groupement Varchar(2),Datedebut date,Datefin date,Nbrejours decimal(5,2),EngComptableJournee decimal(8,2),EngComptableTotal decimal(8,2),PrixPaye decimal(8,2),Prime decimal(5,2),PRIMARY KEY(Matricule,CodeMission,Groupement,Datedebut,Datefin),FOREIGN KEY(Matricule) REFERENCES reserviste(Matricule),FOREIGN KEY(CodeMission,Groupement,Datedebut,Datefin) REFERENCES mission(CodeMission,Groupement,Datedebut,Datefin));

    lorsque j'update ma table mission :

    $mysql_query("UPDATE mission set Codemission=7777 where Codemission=1");

    il y a ce message d'erreur :
    #1451 - Cannot delete or update a parent row: a foreign key constraint fails (`gendarmerie/avoir`, CONSTRAINT `avoir_ibfk_1` FOREIGN KEY (`CodeMission`, `Groupement`, `Datedebut`, `Datefin`) REFERENCES `mission` (`CodeMission`, `Groupement`, `Datedebut`, `Datefin`))

    lorsque j'update ma table avoir:

    $mysql_query("UPDATE avoir set Codemission=7777 where Codemission=1");

    #1452 - Cannot add or update a child row: a foreign key constraint fails (`gendarmerie/avoir`, CONSTRAINT `avoir_ibfk_1` FOREIGN KEY (`CodeMission`, `Groupement`, `Datedebut`, `Datefin`) REFERENCES `mission` (`CodeMission`, `Groupement`, `Datedebut`, `Datefin`))

    lorsque j'update ma table est_effectuee :

    $mysql_query("UPDATE est_effectuee set Codemission=7777 where Codemission=1");

    #1452 - Cannot add or update a child row: a foreign key constraint fails (`gendarmerie/est_effectuee`, CONSTRAINT `est_effectuee_ibfk_2` FOREIGN KEY (`CodeMission`, `Groupement`, `Datedebut`, `Datefin`) REFERENCES `mission` (`CodeMission`, `Groupement`, `Datedebut`,)

    Mon but est de modifier la valeur de CodeMission pour les 3 tables (la nouvelles valeursest identique pour les 3 tables )

    Si vous pouvez m'éclairer voir me donner le code me permettant de remédier à ce problème .

    Merci de votre aide.

  2. #2
    Membre averti
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Décembre 2004
    Messages
    304
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Décembre 2004
    Messages : 304
    Points : 405
    Points
    405
    Par défaut
    c'est un peu normale.

    Tu veux faire une mise à jour (UPDATE) d'un champ FOREIGN KEY.
    Ce que tu pourrai faire, c'est carrement enlevé les Contrainte de clé étrangères (les F.K.). Oui mais bon, ça fausse un peu l'integrité de la base de données.
    S'il n'y a pas de Solution, c'est qu'il n'y a pas de Problème.
    ----------------------------------------------------------------------------------------
    Pour se protéger, un bon préservatif pour votre PC : AntiVir et SpyBot - Search & Destroy

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

Discussions similaires

  1. Problèmes de liaison entre mes tables
    Par Ludivine91 dans le forum Modélisation
    Réponses: 1
    Dernier message: 24/11/2007, 18h17
  2. [MySQL] Problème insertion de données dans table Mysql
    Par Malcolm78 dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 24/10/2007, 17h25
  3. Problème d'update d'une table sql en vb6
    Par cfelicien dans le forum VB 6 et antérieur
    Réponses: 3
    Dernier message: 30/08/2007, 20h24
  4. Problème d'insertion dans une table MYSQL
    Par greg69 dans le forum Requêtes
    Réponses: 4
    Dernier message: 24/10/2005, 11h34
  5. probléme avec la création de table Mysql 5
    Par developpeur_mehdi dans le forum Outils
    Réponses: 3
    Dernier message: 19/10/2005, 19h08

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