Actualizar campos en MySQL en lote

El día de hoy en uno de mis proyectos de una tienda virtual, tenia que hacer el ajuste de un campo en mi base de datos que hacia referencia a las imagenes, pero el detalle era que ya había algunos registros capturados y no quería ir de uno por uno haciendo el ajuste, así que tenía que hacerlo todo de un jalon.

La solución fue la función de MySQL replace(), está me te ayuda a remplazar cierta cadena por otra y lo mejor, puede afectar todos los registros.

Mi base de datos estaba así, lo que necesitaba era quitar esa url y dejar únicamente la parte de assets/images/archivo.jpg

La sentencia SQL que me solucionó fue:

En mi caso tengo un valor vacio ” debido a que no necesito sustituir la cadena por otro, más bien quiero que me elimine, por ese motivo lod eje en blanco.

UPDATE “mi tabla” SET “el campo que quiero afectar” = REPLACE(“nuevamente el campo”, “el valor que quiero cambiar”, “el nuevo valor”) WHERE “el campo nuevamente” LIKE ‘%”todos los campos que contengan el valor%’

Aca otro ejemplo

Al final quedáron mis registros asi:

De esa forma hacemos el update de la BD y evitas estar haciendolo 1 por 1, ya tu puedes ajustar la sentencia a tus necesidades, espero les sirva.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *