Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1264 connectés 

  FORUM HardWare.fr
  Programmation
  SQL/NoSQL

  [Resolu] Update de deux tables.

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[Resolu] Update de deux tables.

n°1359314
Tyam
Posté le 04-05-2006 à 10:50:18  profilanswer
 

Bonjour !
 
Alors voilà, j'ai un petit problème concernant la mise à jour de mes tables.
 
Voici les deux tables principalement concernées :
 
create table Entite_Machine (
     Nom_Machine char(30) not null,
     Adresse_Ip char(15) not null,
     Systeme_Exploitation char(30) not null,
     Type_Ressource_M char(30) not null,
     Numero_Local char(10) not null,
     Nom_Script_Machine char(30) not null,
     constraint ID_Entite_Machine_ID primary key (Nom_Machine));
 
create table Local (
     Numero char(10) not null,
     Telephone char(20) not null,
     constraint ID_Local_ID primary key (Numero));
 
alter table Entite_Machine add constraint FKLocalisation_Machine_FK
     foreign key (Numero_Local)
     references Local (Numero);

 
J'aimerais pouvoir mettre à jour le numero du local. Or :  
 
1) Lorsque je tente de mettre à jour la table local, j'obtiens le message d'erreur suivant :  
#1217 - Cannot delete or update a parent row: a foreign key constraint fails
 
2) Lorsque je tente de mettre à jour la table entite_machine, j'obtiens celui-ci :  
#1216 - Cannot add or update a child row: a foreign key constraint fails
 
Les deux messages sont logiques mais je n'arrive pas à trouver comment faire le tout en une seule fois  :??:  
 
Merci d'avance de votre aide  :)


Message édité par Tyam le 04-05-2006 à 12:59:35
mood
Publicité
Posté le 04-05-2006 à 10:50:18  profilanswer
 

n°1359381
darkfrost
Posté le 04-05-2006 à 11:41:09  profilanswer
 

Tu peux désactiver ta contrainte le temps de la modif si tu sais ou faut le faire.
 
Sinon tu aurais pu mettre à null ta valeur dans entitemachine, puis update la table local, puis la table entitemachine mais tu as une contrainte NOT NULL qui traine :D !
 
Plus proprement, tu peux supprimer ta contrainte foreign key et la recréer de la maniere suivante :  
alter table Entite_Machine add constraint FKLocalisation_Machine_FK  
     foreign key (Numero_Local)  
     references Local (Numero)
     ON UPDATE CASCADE;
 
et faire l'update dans ta table Local ;) !


Message édité par darkfrost le 04-05-2006 à 11:42:13
n°1359388
Tyam
Posté le 04-05-2006 à 11:50:20  profilanswer
 

Oki je vais essayer.


Message édité par Tyam le 04-05-2006 à 11:51:30
n°1359390
Tyam
Posté le 04-05-2006 à 11:50:55  profilanswer
 

Cela fonctionne parfaitement ! Merci beaucoup  :love:


Message édité par Tyam le 04-05-2006 à 12:59:16

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  SQL/NoSQL

  [Resolu] Update de deux tables.

 

Sujets relatifs
système de pronostics : 3 tables ??? [ RESOLU ] Soustraction d'un mois
pb select/option value+php [resolu][ORACLE RESOLU] Insertion dans CLOB en PHP
[ RESOLU ] Postgré et les dates[RESOLU] Allignement cellule sous diff. conf. écran
[Resolu] Solution technique pour gestion multilingue[RESOLU] retour a la ligne dans un FPUTS()
Afficher des informations concernant les tables d'une base MySQL[RESOLU - Merci Smaragdus ]jointure MySQL5
Plus de sujets relatifs à : [Resolu] Update de deux tables.


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR