Mise à jour d'une table mysql basée sur des calculs utilisant des variables dans une autre table
-
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
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