Categorías

Función replace() en mysql

Un día de estos me encontré con un fallo en el código. El fallo era debido a que un famoso editor de texto hecho en Javascript rodeaba ciertas expresiones con comillas simples. Para que nos entendamos aparecía algo así como cadena 1, cadena 2, cadena 3 en vez de cadena 1, cadena 2, cadena 3. Estos valores luego se insertaban en una base de datos MySQL para ser mostrados en la página. Claro está, estas comillas simples generadas rompían toda la lógica y no se mostraba el texto.

La aplicación se corregió, pero quedó por corregir lo que ya estaba en la tabla. Teniendo en cuenta que el texto era bastante largo no se podía hacer SELECT – corregir – UPDATE. Había que corregirlo directamente en base de datos.

La solución ha sido la siguiente:

CREATE TEMPORARY TABLE guion_tmp LIKE guion;

INSERT INTO guion_tmp SELECT * FROM guion where guion_id=67;

UPDATE guion SET guion_contenido=(SELECT replace(guion_contenido, ‘\’Times New Roman\”,’Times’) FROM guion_tmp WHERE guion_id=67) WHERE guion_id=67;

La tabla temporal se eliminará nada más cerrar la conexión.

Deja una respuesta

 

 

 

Puedes usar estas etiquetas HTML

<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>