update dans une table

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : update dans une table

par led » 21 sept. 2007, 18:54

Voila et pour ne pas mettre à jour tous les enregistrements de la table Ma_Table tu dois mettre une clause Where machin=truc

En reprennant la requete d'Albat
UPDATE Ma_table SET Mon_taux=(SELECT le_taux FROM Table_taux WHERE ...) WHERE MACHIN_DE MA_TABLE=TRUC;
A++

par albat » 21 sept. 2007, 18:43

Led a bien identifié le problème.
Ta sous-requête doit retourner un résultat et un seul,
puisque celui-ci sera le second membre d'une égalité.
Il faut donc ajouter un filtre (une clause WHERE) dans ta sous-requête

En outre, la clause finale de ta requête principale est ici totalement inutile.

Je te propose donc la réécriture suivante (à compléter) :

Code : Tout sélectionner

UPDATE Ma_table SET Mon_taux=(SELECT le_taux FROM Table_taux WHERE ...)
Attention :!:
TOUS les enregistrements de la table Ma_table seront mis à jour...

par led » 21 sept. 2007, 18:33

A subquery has returned not exactly one row
Je suis pas un expert, mais cela signifit que ta sous requete (select te taux from taux) ne renvoie pas exactement une ligne mais plusieurs.
Je pense que tu dois mettre dans cette sous requete, une clause where afin d'obtenir moins de resultats....
EN fat, ta requete d'insertion insert un taux dans ta table, ici elle ne peut pasle faire, vu que tu selectionne des taux.
Affiche le resultat de ta sous requete et tu verras ce que je veux dire...

update dans une table

par bebey » 21 sept. 2007, 17:26

Salut
J'ai une table dans laquelle je veux ecrire un enregistrement de type taux et j'ai fait
update Ma_table set Mon_taux=(select le_taux from Table_taux) where 1=1
et j'ai un message d'erreur A subquery has returned not exactly one row
Que faire ?????
Bye