mysql - valor - sql reemplazar texto campo
Actualizar un valor de columna, reemplazando parte de una cadena (5)
Tengo una tabla con las siguientes columnas en una base de datos MySQL
[id, url]
Y las urls 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?
Intente usar la http://dev.mysql.com/doc/refman/5.5/en/string-functions.html#function_replace :
mysql> SELECT REPLACE(''www.mysql.com'', ''w'', ''Ww'');
-> ''WwWwWw.mysql.com''
Tenga en cuenta que es sensible a mayúsculas y minúsculas.
Necesita la cláusula WHERE para reemplazar SOLAMENTE los registros que cumplen con la condición en la cláusula WHERE (a diferencia de todos los registros). Utiliza el signo % para indicar una cadena parcial: IE
LIKE (''... // domain1.com/images/%''); significa todos los registros que COMENZAN con "... // domain1.com/images/" y tienen algo DESPUÉS (ese es el% para ...)
Otro ejemplo:
LIKE (''% http://domain1.com/images/% '') que significa todos los registros que contienen " http://domain1.com/images/ " en cualquier parte de la cadena ...
Prueba esto...
update [table_name] set [field_name] =
replace([field_name],''[string_to_find]'',''[string_to_replace]'');
UPDATE urls
SET url = REPLACE(url, ''domain1.com/images/'', ''domain2.com/otherfolder/'')
UPDATE yourtable
SET url = REPLACE(url, ''http://domain1.com/images/'', ''http://domain2.com/otherfolder/'')
WHERE url LIKE (''http://domain1.com/images/%'');
documentos relevantes: http://dev.mysql.com/doc/refman/5.5/en/string-functions.html#function_replace