Bonjour @ tous,
Voici mes tables
CREE (id_compositeur,id_oeuvre)
COMPOSITEUR(id_compositeur,nom_compositeur,...)
OEUVRE_FINAL(id_oeuvre, nom_oeuvre,...,id_compositeur)
Je voulais supprimer la table CREE qui ne me sert plus a rien car j'ai desormais la relation suivante entre oeuvre et compositeur :
oeuvre 1,n ---- 1,1 compositeur
(une oeuvre est écrite par un seul compositeur)
Je suis face à l'erreur : Operation must use an updateable query.UPDATE oeuvre_final SET oeuvre_final.test = (SELECT cree.id_compositeur
FROM cree, oeuvre_final
WHERE oeuvre_final.id_oeuvre = cree.id_oeuvre);
Je ne comprends pas d'ou vient le pbm malgré mes recherches.
Merci d'avance,
Falt4rm
EDIT : apparemment le pbm semble simlaire a :
http://www.developpez.net/forums/d75...ateable-query/
Cependant j'ai bien essayé
Ca ne renvoye plus d'erreur mais ca n'update pas ma table.UPDATE oeuvre_final
SET oeuvre_final.test = cree.id_compositeur
WHERE oeuvre_final.id_oeuvre IN (SELECT cree.id_oeuvre FROM cree);
J'ai testé les requetes (sans update) : la jointure (oeuvre_final.oeuvre = cree.id_oeuvre) me renvoye le résultat voulu mais avec WHERE ... IN ... cela ne marche pas.
EDIT 2 :
J'ai reussi à me dépanner avec ceci :
http://www.developpez.net/forums/d71...ete-imbriquee/
Le mystere demeure encore pour la requete d'avant avec le WHERE IN mais le pbm est réglé.UPDATE oeuvre_final
INNER JOIN cree
ON oeuvre_final.temp = cree.id_oeuvre
SET oeuvre_final.id_compositeur = cree.id_compositeur;
Partager