UPDATE com MÚLTIPLAS TABELAS

3 respostas
mysql
O

Senhores, gostaria de atualizar minha tabela receber.id_cliente com o conteúdo do pessoa.id, (trouxe de uma importação externa), mas está dando erro de sintaxe, quem pode me ajudar?

UPDATE receber SET data_alteracao = now(), id_cliente = (pessoa.id) FROM receber INNER JOIN pessoa ON pessoa.codigo = receber.codigo;

Está apresentando erro 1064
Estou utilizando o mysql 5.6.35-win32

3 Respostas

O

Erro é:
You have an erro in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ´FORM receberINNER JOIN pessoa ON pessoa.codigo = receber.codigoat line 1

J

Veja se esses exemplos te ajudam:

update tabela1 t1
inner join tabela2 t2 b on t1.codigo = t2.codigo
set data = Now(), campo1 = t2.campo2

ou

UPDATE tabela 
SET    data = Now(), 
       campo1 = (SELECT campo2 
                FROM   tabela2 t2 
                WHERE  t2.codigo = tabela.codigo)
O

Conseguir resolvendo da seguinte forma

UPDATE receber,pessoa SET receber.data_alteracao = now(), receber.id_cliente = pessoa.id WHERE pessoa.codigo = receber.codigo;

Muito obrigado pela atenção!

Na versão 5.5 em diante, a sintaxe FROM no UPDATE não aceita!

Criado 14 de outubro de 2017
Ultima resposta 14 de out. de 2017
Respostas 3
Participantes 2