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?
Respostas:
fonte
documentos relevantes: http://dev.mysql.com/doc/refman/5.5/en/string-functions.html#function_replace
fonte
WHERE
cláusula otimiza a consulta para modificar apenas as linhas com determinado URL. Logicamente, o resultado será o mesmo, mas a adição deWHERE
tornará a operação mais rápida.WHERE
garante também que você está substituindo apenas peças de cordas que começam comhttp://etc/etc/
oustring_to_be_replaced.
Por exemplo, na resposta dada,http://domain1.com/images/this/is/a/test
seria afetado, masfoobar/http://domain1.com/images/
não o faria.Tente usar a função REPLACE :
Observe que diferencia maiúsculas de minúsculas.
fonte
Você precisa da cláusula WHERE para substituir SOMENTE os registros que atendem à condição da cláusula WHERE (em oposição a todos os registros). Você usa o sinal % para indicar uma sequência parcial: IE
meios todos os registros que BEGIN com
"...//domain1.com/images/"
e têm nada depois (que é o%
de ...)Outro exemplo:
o que significa todos os registros que contêm
"http://domain1.com/images/"
em qualquer parte da corda ...
fonte
Tente isso ...
fonte
Primeiro, tem que verificar
SELECT * FROM
university
WHERE course_name CURTIR '% & amp%'Em seguida, tem que atualizar
UPDATE universidade SET nome_do_curso = REPLACE (nome_do_curso, '& amp', '&') WHERE id = 1
Resultados: Engenharia e Tecnologia de Amplificadores => Engenharia e Tecnologia
fonte