Mise à jour d'une table mysql basée sur des calculs utilisant des variables dans une autre table

StackOverflow https://stackoverflow.com/questions/1641974

  •  10-07-2019
  •  | 
  •  

Question

J'essaie de mettre à jour une table en fonction des valeurs d'une autre table. Quel est le problème avec la demande suivante? Erreur: Colonne inconnue 'source.col3' dans 'clause Where'

UPDATE target 
  SET target.col1 = source.col1 * target.col2,
WHERE target.col3 = source.col3
Était-ce utile?

La solution

Eh bien, vous ne spécifiez pas "source" en tant que table, où que vous soyez.

MySQL prend en charge la mise à jour de plusieurs tables pour que vous puissiez pourrait écrire votre code en tant que:

UPDATE target, source
   SET target.col1=source.col1*target.col2
 WHERE target.col3=source.col3

Maintenant, si cela ferait réellement ce que vous voulez, je ne peux le dire sans en savoir plus sur vos tables.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top