Foros del Web » Programando para Internet » PHP »

Cambiar una frase por otra en todas las tablas de Mysql

Estas en el tema de Cambiar una frase por otra en todas las tablas de Mysql en el foro de PHP en Foros del Web. hora, resulta que nesesito cambiar la frase Anonymous por Anomino en toda mi Base de datos contiene muchas tablas y bueno todo eso esta exparcido ...
  #1 (permalink)  
Antiguo 17/06/2009, 18:25
 
Fecha de Ingreso: abril-2009
Mensajes: 162
Antigüedad: 15 años, 7 meses
Puntos: 6
Pregunta Cambiar una frase por otra en todas las tablas de Mysql

hora, resulta que nesesito cambiar la frase Anonymous por Anomino en toda mi Base de datos

contiene muchas tablas y bueno todo eso esta exparcido de una manera impresionante que ponerme a buscarlas todas seria un lio

existe alguna forma de cambiar la frase Anonymous por Anomino en todos los registros de todas las tablas automaticamente?
  #2 (permalink)  
Antiguo 17/06/2009, 18:33
Avatar de acoevil  
Fecha de Ingreso: julio-2008
Ubicación: localhost/colombia/sevillaValle.php
Mensajes: 1.123
Antigüedad: 16 años, 3 meses
Puntos: 32
Respuesta: Cambiar una frase por otra en todas las tablas de Mysql

Creo que te toca cojer tabla por tabla y realizarle a cada una un update para cambiar el valor que mencionas.
  #3 (permalink)  
Antiguo 17/06/2009, 18:46
Avatar de ElJavista
Colaborador
 
Fecha de Ingreso: marzo-2007
Ubicación: Lima Perú
Mensajes: 2.231
Antigüedad: 17 años, 8 meses
Puntos: 67
Respuesta: Cambiar una frase por otra en todas las tablas de Mysql

Puedes hacer un script con PHP, y haces un blucle que coga todas las tablas a y todas les cambias el campo mediante una sentencia dinámica, o sea que dependa de una variable, que sería el nombre de la tabla. Eso resultaría siempre y cuando el nombre del campo sea siempre el mismo. Si no la cosa se complica, pero de todas maneras se puede automatizar.
  #4 (permalink)  
Antiguo 18/06/2009, 08:42
Avatar de Huacho12  
Fecha de Ingreso: septiembre-2008
Ubicación: Isla Mujeres Q. Roo
Mensajes: 175
Antigüedad: 16 años, 2 meses
Puntos: 10
Respuesta: Cambiar una frase por otra en todas las tablas de Mysql

Hola!!!

EroChvc

Claro que se puede, haciendo un pequeño codigo con php, en el cual utilices un array con el nombre de todas tus tablas y un bulce (FOR), que valla recorriendo el array y dentro del for la sentencia updte, especificando los campos que quieras cambiar suponiendo que sean iguales.

En dado caso que dichos campos no sean de igual nombre tendrias que poner otro array con el nombre de esos campos. Recuerda que los dos arrays tienes que tener la misma longitud para que se pueda hacer la actualizacion de tus tablas.

Mismos Campo. Por Ejemplo

$tablas[0]="tabla1";
$tablas[1]="tabla2";
$tablas[2]="tabla3";
$tablas[3]="tabla4";

for($i=0;$i<count($tablas);$i++)
{
mysql_query("update $tablas[$i] set campoX='Anonimo' where campoX='Anonymous'");
}

Y si tus campos son diferentes solo tienes que crear otro array y adecuar el codigo de arriba para que se realice la actualizacion de tus tablas

Espero te pueda servir este codigo.

Saludos.
  #5 (permalink)  
Antiguo 18/06/2009, 09:20
 
Fecha de Ingreso: abril-2009
Mensajes: 162
Antigüedad: 15 años, 7 meses
Puntos: 6
Pregunta Respuesta: Cambiar una frase por otra en todas las tablas de Mysql

Cita:
Iniciado por Huacho12 Ver Mensaje
Hola!!!

EroChvc

Claro que se puede, haciendo un pequeño codigo con php, en el cual utilices un array con el nombre de todas tus tablas y un bulce (FOR), que valla recorriendo el array y dentro del for la sentencia updte, especificando los campos que quieras cambiar suponiendo que sean iguales.

En dado caso que dichos campos no sean de igual nombre tendrias que poner otro array con el nombre de esos campos. Recuerda que los dos arrays tienes que tener la misma longitud para que se pueda hacer la actualizacion de tus tablas.

Mismos Campo. Por Ejemplo

$tablas[0]="tabla1";
$tablas[1]="tabla2";
$tablas[2]="tabla3";
$tablas[3]="tabla4";

for($i=0;$i<count($tablas);$i++)
{
mysql_query("update $tablas[$i] set campoX='Anonimo' where campoX='Anonymous'");
}

Y si tus campos son diferentes solo tienes que crear otro array y adecuar el codigo de arriba para que se realice la actualizacion de tus tablas

Espero te pueda servir este codigo.

Saludos.
Gracias por el interes Huacho12, lamentablemente lo que nesesito cambiar no es todo el campo de dicha celda en la tabla si no que es la rase Anonymous que esta dentro de celdas que contienen mas texto ejemplo:

campoX=" Anonymous dice: mi mama me mima";
  #6 (permalink)  
Antiguo 18/06/2009, 09:51
Avatar de iDkInf  
Fecha de Ingreso: junio-2009
Mensajes: 52
Antigüedad: 15 años, 5 meses
Puntos: 0
Respuesta: Cambiar una frase por otra en todas las tablas de Mysql

Puedes realizar lo que te ha comunicado Huacho12 pero añadiendo a la consulta esto:

update $tablas[$i] set campoX=REPLACE(campoX, Anonymous, 'Anonimo') where campoX='Anonymous'

Con esto solo remplazaria la palabra Anonymous.

Saludos!
  #7 (permalink)  
Antiguo 18/06/2009, 10:13
Avatar de Huacho12  
Fecha de Ingreso: septiembre-2008
Ubicación: Isla Mujeres Q. Roo
Mensajes: 175
Antigüedad: 16 años, 2 meses
Puntos: 10
Respuesta: Cambiar una frase por otra en todas las tablas de Mysql

Estoy de acuerdo con la solucion que plantea iDKlnf.

Solo tendrias que poner dentro del for la sentencia update que se muestra con el REPLACE().

Y lo mismo para si tus campos son diferente.


saludos
  #8 (permalink)  
Antiguo 18/06/2009, 10:48
Avatar de Huacho12  
Fecha de Ingreso: septiembre-2008
Ubicación: Isla Mujeres Q. Roo
Mensajes: 175
Antigüedad: 16 años, 2 meses
Puntos: 10
Respuesta: Cambiar una frase por otra en todas las tablas de Mysql

MMMMMMMM!!!!!!!

Uppss!!

Sobre la consulta que plantea iDKlnf, se debe de cambiar la condicion del WHERE, ya que si solo se compara como esta no realizaria ningun cambio ya que no hay campos que tengan solamente 'Anonymous'.

Por lo que la consulta update quedaria de la siguiente manera:

update $tablas[$i] set campoX=REPLACE(campoX, 'Anonymous', 'Anonimo') where campoX like 'Anonymous%'

Esta consulta actualizaria todo el campo especificado siempre y cuando encuentra una coincidencia con Anonymous.

Espero te sirva, espero tus comentarios

saludos.
  #9 (permalink)  
Antiguo 18/06/2009, 14:29
Avatar de iDkInf  
Fecha de Ingreso: junio-2009
Mensajes: 52
Antigüedad: 15 años, 5 meses
Puntos: 0
Respuesta: Cambiar una frase por otra en todas las tablas de Mysql

Cierto Huacho12 toda la razon en ese like ^^!, espero que le sirva la consulta. Podria tambien mejorarse en vez de meter todas las tablas en array, hacer una consulta que obtengas todas las tablas de una base de datos. No recuerdo ahora mismo pero poder se puede.

Saludos!
  #10 (permalink)  
Antiguo 19/06/2009, 06:34
 
Fecha de Ingreso: abril-2009
Mensajes: 162
Antigüedad: 15 años, 7 meses
Puntos: 6
Respuesta: Cambiar una frase por otra en todas las tablas de Mysql

valla, forosdelweb esta lleno de Genios Ciberneticos jejeje con eso si podre solucionar el problema. gracias por la ayuda Huacho12, y iDkInf
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 22:20.