Aggiornamento di una tabella mysql basata su calcoli utilizzando le variabili in un'altra tabella

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

  •  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
È stato utile?

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
scroll top