Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
considere que no campo "texto" do banco de dados, tenha o seguinte valor:
>
Citar
"Amanhã iremos".
Quero acrescentar no final desta frase o valor "caminhar", de formas que o conteúdo do campo será: "Amanhã iremos caminhar".
eu queria fazer um update direto, pegando o que já consta no campo "texto" e acrescentar o novo valor do campo.
Quero evitar fazer um select para verificar o conteúdo do campo, e depois acrescentar um update com o que foi recuperado no select.vixi, que ótimo hein....acho que entendi...vou testar...
e grato.
>
Em 29/08/2017 at 19:40, Mateus Silva disse:
Bem simples, você pode fazer de 2 formas:
A primeira é alterando os dados de TODAS as linhas da tabela:
UPDATE mensagens AS msg
JOIN mensagens AS msg2 ON (msg.id = msg2.id)
SET msg.mensagem = CONCAT(msg2.mensagem,' caminhar')
A segunda é alterando apenas 1 linha, passando um id:
UPDATE mensagens AS msg
JOIN mensagens AS msg2 ON (msg.id AND msg2.id = 15)
SET msg.mensagem = CONCAT(msg2.mensagem,' caminhar')
WHERE msg.id = 15
Bem simples, a ideia é basicamente você fazer o join pra obter os dados que já estão salvos e depois usa o concat pra juntar os dados obtidos com a nova string ou outro campo da tabela.
Espero que ajude
Ajudou muito, estava fazendo sem o join e o sql não estava reconhecendo as colunas! Valeu mesmo!
Bem simples, você pode fazer de 2 formas:
A primeira é alterando os dados de TODAS as linhas da tabela:
UPDATE mensagens AS msg
JOIN mensagens AS msg2 ON (msg.id = msg2.id)
SET msg.mensagem = CONCAT(msg2.mensagem,' caminhar')
A segunda é alterando apenas 1 linha, passando um id:
UPDATE mensagens AS msg
JOIN mensagens AS msg2 ON (msg.id AND msg2.id = 15)
SET msg.mensagem = CONCAT(msg2.mensagem,' caminhar')