mysql with Atualizar um valor de coluna, substituindo parte de uma string




string replace in mysql (4)

Eu tenho uma tabela com as seguintes colunas em um banco de dados MySQL

[id, url]

E os URLs são como:

 http://domain1.com/images/img1.jpg

Quero atualizar todos os URLs para outro domínio

 http://domain2.com/otherfolder/img1.jpg

mantendo o nome do arquivo como está.

Qual é a consulta que devo executar?


UPDATE urls
SET url = REPLACE(url, 'domain1.com/images/', 'domain2.com/otherfolder/')

Tente isso ...

update [table_name] set [field_name] = 
replace([field_name],'[string_to_find]','[string_to_replace]');


Você precisa da cláusula WHERE para substituir SOMENTE os registros que estão em conformidade com a condição na cláusula WHERE (em oposição a todos os registros). Você usa % sign para indicar uma string parcial: IE

LIKE ('... // domain1.com/images/%'); significa todos os registros que BEGIN com "... // domain1.com/images/" e possuem qualquer coisa AFTER (essa é a% para ...)

Outro exemplo:

LIKE ('% http://domain1.com/images/% ') que significa todos os registros que contém " http://domain1.com/images/ " em qualquer parte da string ...





sql