terça-feira, 4 de outubro de 2011

Update no MySQL com Join


Algo muito útil que até então não tinha utilizado. Digamos que precise atualizar uma coluna no MySQL, porém a condição para tal, seja um valor específico em outra tabela.

Para não fazer uma query dentro de outra para trazer o resultado e compará-lo no no WHERE da primeira, fiz da seguinte forma:

O CÓDIGO

UPDATE 
tabela1, tabela2 
SET
tabela1.campo_para_atualizar = 'novo valor'
WHERE
tabela1.id = tabela2.fk_id_tabela1 AND
tabela2.campo_a_ser_testado = 'valor a ser testado'

A EXPLICAÇÃO:

Será atualizado todos os registros da tabela1 em que, o registro da tabela2 ue possuir a foreign key para tabela1, contiver no campo campo_a_ser_testado o valor 'valor a ser testado'.


hasta!