| UPDATE con SELECT in MySQL |
| Database & Server |
| Martedì 14 Febbraio 2012 23:12 |
|
A vole può capitare di dover fare UPDATE massicci su una tabella controllando però determinate condizioni su un'altra tabella collegata. Ad esempio nel mio caso ho una tabella articoli; il prezzo degli articoli è su un'altra tabella collegata tramite il codice dell'articolo. Io dovevo impostare il flag abilitato su tutti quegli articoli che avevano un prezzo maggiore di uno. Quindi in linea teorica è questo: aggiorna la tabella articoli settando 1 sul campo abilitato in tutti gli articoli che nella tabella listini_righe hanno il prezzo maggiore di 1. In MySQL è uscita una cosa così:
Come vedete nella clausola WHERE eseguiamo una ricerca degli articoli eseguendo un'altra SELECT usando IN. La cosa è abbastanza semplice. Ovviamente le tabelle devono essere collegate e nella seconda SELECT il campo di ricerca deve essere uno; quello collegato. Non si può fare così ad esempio:
MySQL da errore perchè non saprebbe dove cercare. |
| Ultimo aggiornamento Mercoledì 15 Febbraio 2012 11:53 |


