Tengo una tabla con las siguientes columnas en una base de datos MySQL
[id, url]
Y las URL son como:
http://domain1.com/images/img1.jpg
Quiero actualizar todas las URL a otro dominio.
http://domain2.com/otherfolder/img1.jpg
manteniendo el nombre del archivo como está.
¿Cuál es la consulta que debo ejecutar?
Respuestas:
fuente
documentos relevantes: http://dev.mysql.com/doc/refman/5.5/en/string-functions.html#function_replace
fuente
WHERE
cláusula optimiza la consulta para modificar solo las filas con cierta URL. Lógicamente, el resultado será el mismo, pero la adición deWHERE
hará que la operación sea más rápida.WHERE
asegura también que sólo se está reemplazando partes de cadenas que comienzan conhttp://etc/etc/
ostring_to_be_replaced.
Por ejemplo, en la respuesta dada,http://domain1.com/images/this/is/a/test
se verían afectados, perofoobar/http://domain1.com/images/
no lo haría.Intente usar la función REEMPLAZAR :
Tenga en cuenta que distingue entre mayúsculas y minúsculas.
fuente
Necesita la cláusula WHERE para reemplazar SOLO los registros que cumplan con la condición de la cláusula WHERE (en oposición a todos los registros). Utiliza el signo % para indicar una cadena parcial: IE
medios todos los registros que instrucciones BEGIN con
"...//domain1.com/images/"
y tener después de nada (que es la%
de ...)Otro ejemplo:
lo que significa todos los registros que contiene
"http://domain1.com/images/"
en cualquier parte de la cadena ...
fuente
Prueba esto...
fuente
Primero, hay que verificar
SELECCIONE * DESDE
university
DONDE course_name LIKE '% & amp%'A continuación, tengo que actualizar
ACTUALIZAR universidad SET course_name = REPLACE (course_name, '& amp', '&') WHERE id = 1
Resultados: Ingeniería y Tecnología de amplificadores => Ingeniería y Tecnología
fuente