hola buenas tardes. soy aficionado a programación. estoy intentando hacer un replace en una tabla y me apracece el siguiente error
esta es el replace que intento:
update articulo
REPLACE(identificacion, '¿', '?')
este es el error que me da
token unknown - line 2, char 8
(
alquien me ayuda?
necesito cambiar los datos con el caracter ¿ por el ?
gracias
¡Hola!
Te falta la palabra clave SET. REPLACE() es una función que calcula y devuelve un texto nuevo, pero por sí sola no le dice a MySQL en qué columna guardar ese resultado, eso es justo lo que hace SET:
UPDATE articulo
SET identificacion = REPLACE(identificacion, '¿', '?');
La estructura general de un UPDATE siempre es UPDATE tabla SET columna = valor_nuevo, y aquí el «valor nuevo» es el resultado de aplicar REPLACE sobre el valor que ya tenía la propia columna.
Un detalle a tener en cuenta: así tal cual, sin WHERE, esto cambia todas las filas de la tabla articulo, no solo las que tengan el carácter ¿. No pasa nada malo si una fila no lo tiene (REPLACE simplemente no cambia nada en ese caso), pero si quieres limitarlo por seguridad solo a las filas afectadas, puedes añadir:
UPDATE articulo
SET identificacion = REPLACE(identificacion, '¿', '?')
WHERE identificacion LIKE '%¿%';
Un saludo,
Antonia G.