varios update simple registros reemplazar query para ejemplos comilla caracteres campo cambiar mysql replace

update - Cadena de MySQL reemplazar



select replace mysql (5)

La función de http://dev.mysql.com/doc/refman/5.0/en/string-functions.html#function_replace debería funcionar para usted.

REPLACE(str,from_str,to_str)

Devuelve la cadena str con todas las apariciones de la cadena from_str reemplazada por la cadena to_str. REPLACE() realiza una coincidencia que distingue entre mayúsculas y minúsculas al buscar from_str.

Tengo una columna que contiene urls (id, url):

http://www.example.com/articles/updates/43 http://www.example.com/articles/updates/866 http://www.example.com/articles/updates/323 http://www.example.com/articles/updates/seo-url http://www.example.com/articles/updates/4?something=test

Me gustaría cambiar la palabra "actualizaciones" a "noticias". ¿Es posible hacer esto con un script?



Simplemente puede utilizar la función replace (),

con donde la cláusula-

update tabelName set columnName=REPLACE(columnName,''from'',''to'') where condition;

sin donde la cláusula-

update tabelName set columnName=REPLACE(columnName,''from'',''to'');

Nota: La consulta anterior indica si hay registros de actualización directamente en la tabla, si desea una consulta de selección y los datos no deberían verse afectados en la tabla, luego puede usar la siguiente consulta:

select REPLACE(columnName,''from'',''to'') as updateRecord;


Además de la respuesta de gmaggio si necesita REPLACE y UPDATE dinámicamente de acuerdo con otra columna, por ejemplo:

UPDATE your_table t1 INNER JOIN other_table t2 ON t1.field_id = t2.field_id SET t1.your_field = IF(LOCATE(''articles/updates/'', t1.your_field) > 0, REPLACE(t1.your_field, ''articles/updates/'', t2.new_folder), t1.your_field) WHERE...

En mi ejemplo, la cadena de articles/news/ se almacena en other_table t2 y no hay necesidad de usar LIKE en la cláusula WHERE .


UPDATE your_table SET your_field = REPLACE(your_field, ''articles/updates/'', ''articles/news/'') WHERE your_field LIKE ''%articles/updates/%''

Ahora filas que eran como

http://www.example.com/articles/updates/43

estarán

http://www.example.com/articles/news/43

http://www.electrictoolbox.com/mysql-find-replace-text/