Aggiornamento di una tabella mysql basata su calcoli utilizzando le variabili in un'altra tabella
-
10-07-2019 - |
Domanda
Sto cercando di aggiornare una tabella in base ai valori in un'altra tabella. Cosa c'è di sbagliato nella seguente richiesta? Errore: Colonna sconosciuta 'source.col3' in 'clausola where'
UPDATE target
SET target.col1 = source.col1 * target.col2,
WHERE target.col3 = source.col3
Soluzione
Bene, per uno non stai specificando 'source' come una tabella da nessuna parte.
MySQL attualmente supporta aggiornamento di più tabelle , quindi tu potrebbe scrivere il tuo codice come:
UPDATE target, source
SET target.col1=source.col1*target.col2
WHERE target.col3=source.col3
Ora, se questo potesse effettivamente fare quello che vuoi, non posso dirlo senza sapere di più sui tuoi tavoli.
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow