Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » Mysql »

Actualizar parte del string de un campo, en toda una columna

Estas en el tema de Actualizar parte del string de un campo, en toda una columna en el foro de Mysql en Foros del Web. buenas, el tema es asi: tengo una tabla con direcciones URL, por ejemplo ejemplo.com/ejemplo1/ejemplo2.php, uno por fila, pero todos con el mismo dominio (ejemplo.com), y ...
  #1 (permalink)  
Antiguo 17/06/2009, 15:49
 
Fecha de Ingreso: mayo-2009
Mensajes: 210
Antigüedad: 15 años
Puntos: 0
Actualizar parte del string de un campo, en toda una columna

buenas, el tema es asi:

tengo una tabla con direcciones URL, por ejemplo ejemplo.com/ejemplo1/ejemplo2.php, uno por fila, pero todos con el mismo dominio (ejemplo.com), y me di cuenta q podia ahorrar espacio si guardaba eso en otro lado solo 1 vez, pero no quiero perder lo que ya tengo asi que tengo q modificar eso

en cada fila, donde diga ejemplo.com/ejemplo1/ejemplo2.php. quiero que se reemplace por /ejemplo1/ejemplo2.php (esto no es fijo, es de cada fila. Lo unico fijo es el dominio y quiero sacarlo)

como hago??
  #2 (permalink)  
Antiguo 17/06/2009, 16:40
Avatar de Anubis_Slash  
Fecha de Ingreso: mayo-2009
Ubicación: aqui y haya
Mensajes: 173
Antigüedad: 15 años
Puntos: 5
Respuesta: Actualizar parte del string de un campo, en toda una columna

hola horape,

la informacion que muestras ya esta guardada en la base de datos?
  #3 (permalink)  
Antiguo 17/06/2009, 17:05
 
Fecha de Ingreso: mayo-2009
Mensajes: 210
Antigüedad: 15 años
Puntos: 0
Respuesta: Actualizar parte del string de un campo, en toda una columna

si, de ahora en mas tengo q guardarlas sin lo de ejemplo.com, ok eso lo puedo hacer, pero no se como modificar las q ya están guardadas (si no lo hago las pierdo, ya que el link q tienen no va mas)
  #4 (permalink)  
Antiguo 17/06/2009, 20:03
Avatar de Genetix  
Fecha de Ingreso: febrero-2002
Ubicación: Lima - Perú
Mensajes: 1.600
Antigüedad: 22 años, 2 meses
Puntos: 45
Respuesta: Actualizar parte del string de un campo, en toda una columna

Hola
Prueba de esta manera
Código sql:
Ver original
  1. UPDATE tu_table SET campo_url =  REPLACE(campo_url,'ejemplo.com','');

Saludos!
__________________
"El conocimiento nos hace responsables."
twitter: @benjamingb
blog personal: http://codigolinea.com
ZF Manual en español http://manual.zfdes.com
  #5 (permalink)  
Antiguo 17/06/2009, 22:22
 
Fecha de Ingreso: mayo-2009
Mensajes: 210
Antigüedad: 15 años
Puntos: 0
Respuesta: Actualizar parte del string de un campo, en toda una columna

Cita:
Iniciado por Genetix Ver Mensaje
Hola
Prueba de esta manera
Código sql:
Ver original
  1. UPDATE tu_table SET campo_url =  REPLACE(campo_url,'ejemplo.com','');

Saludos!
gracias por la ayuda , espero no arruinar mi tabla
  #6 (permalink)  
Antiguo 18/06/2009, 08:22
Avatar de Anubis_Slash  
Fecha de Ingreso: mayo-2009
Ubicación: aqui y haya
Mensajes: 173
Antigüedad: 15 años
Puntos: 5
Respuesta: Actualizar parte del string de un campo, en toda una columna

funciona perfecto la linea que te paso Genetix, pero de cualquier modo te recomiendo que siempre hagas un respaldo de tu base de datos.

saludos
  #7 (permalink)  
Antiguo 18/06/2009, 09:12
Avatar de huesos52
Colaborador
 
Fecha de Ingreso: febrero-2009
Ubicación: Manizales - Colombia
Mensajes: 5.980
Antigüedad: 15 años, 2 meses
Puntos: 360
Respuesta: Actualizar parte del string de un campo, en toda una columna

El uso de transacciones es vital para este tipo de cambios.

Antes de ejecutar esta sentencia puedes poner:

Código sql:
Ver original
  1. START TRANSACTION;
  2. UPDATE tu_table SET campo_url =  REPLACE(campo_url,'ejemplo.com','');

Revisar que todo esté bien.
Si el resultaodo es el esperado, se confirma la transacción
Código sql:
Ver original
  1. commit;

Si hay un error en la sentencia se deshacen los cambios.
Código sql:
Ver original
  1. ROLLBACK;

De esta forma, nos cuidamos de hacer mal uso de sentencias que puedan costar cambios drásticos.

Un saludo.
__________________
Without data, You are another person with an opinion.
W. Edwads Deming
  #8 (permalink)  
Antiguo 18/06/2009, 18:40
 
Fecha de Ingreso: mayo-2009
Mensajes: 210
Antigüedad: 15 años
Puntos: 0
Respuesta: Actualizar parte del string de un campo, en toda una columna

Cita:
Iniciado por huesos52 Ver Mensaje
El uso de transacciones es vital para este tipo de cambios.

Antes de ejecutar esta sentencia puedes poner:

Código sql:
Ver original
  1. START TRANSACTION;
  2. UPDATE tu_table SET campo_url =  REPLACE(campo_url,'ejemplo.com','');

Revisar que todo esté bien.
Si el resultaodo es el esperado, se confirma la transacción
Código sql:
Ver original
  1. commit;

Si hay un error en la sentencia se deshacen los cambios.
Código sql:
Ver original
  1. ROLLBACK;

De esta forma, nos cuidamos de hacer mal uso de sentencias que puedan costar cambios drásticos.

Un saludo.
gracias, lo q pasa q el engine q usé es MyISAM, y tenia entendido que para transacciones tenia q ser InnoDB u otra más.

igual funcionó el replace, gracias a todos!
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 16:04.