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

Actualizar campo de varios registros tomando valor de otro campo

Estas en el tema de Actualizar campo de varios registros tomando valor de otro campo en el foro de Mysql en Foros del Web. Hola gente: Necesito confeccionar un script en PHP que realice un bucle (son mas de 4000 registros) para actualizar un mismo campo de cada registro ...
  #1 (permalink)  
Antiguo 08/04/2009, 16:57
Avatar de _SaMuRai_  
Fecha de Ingreso: julio-2001
Ubicación: Tucumán - Argentina
Mensajes: 80
Antigüedad: 22 años, 9 meses
Puntos: 2
Actualizar campo de varios registros tomando valor de otro campo

Hola gente:

Necesito confeccionar un script en PHP que realice un bucle (son mas de 4000 registros) para actualizar un mismo campo de cada registro pero utilizando un valor de otro campo de esos registros.

Ejm:

Registro A con Campo 1 ; Campo 2
Registro B con Campo 1 ;Campo 2
Registro C con Campo 1 ; Campo 2

Yo quiero actualizar o modificar Campo 2 insertanto "Cadena fija + Campo 1"

Espero se entienda lo que busco.
Gracias de antemano.
Saludos.

Pd: ¿Está bien ubicado este post o va en el foro PHP?

Última edición por _SaMuRai_; 08/04/2009 a las 17:25
  #2 (permalink)  
Antiguo 08/04/2009, 17:35
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 campo de varios registros tomando valor de otro campo

Si te entendí bien, prueba con:

Código mysql:
Ver original
  1. update tabla set campo2 = concat('cadena fija',campo1);

Un saludo.
__________________
Without data, You are another person with an opinion.
W. Edwads Deming
  #3 (permalink)  
Antiguo 08/04/2009, 18:23
Avatar de _SaMuRai_  
Fecha de Ingreso: julio-2001
Ubicación: Tucumán - Argentina
Mensajes: 80
Antigüedad: 22 años, 9 meses
Puntos: 2
Exclamación Respuesta: Actualizar campo de varios registros tomando valor de otro campo

Gracias huesos52 pero lo que busco es un poco más complejo:

Necesito hacer un bucle en php que vaya consultando el valor de campo 1 de cada registro (tiene un valor distinto en c/registro), y que en el campo 2 de esos registros me vaya insertando el valor consultado anteriormente (valor de campo 1) + cadena fija.

Sería como copiar el valor de campo 1 en el campo 2, agregandole a este último una cadena. Todo esto mediante un bucle en php que recorra todos los registros.


¿Ahora se entiende un poquito mejor?

Saludos
  #4 (permalink)  
Antiguo 08/04/2009, 18:33
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 campo de varios registros tomando valor de otro campo

Creo que deberías preguntar en el foro de php. Ahí recibirás una mejor asesoría.

Sin embargo samurai.... Lo que tratas de hacer con php es exactamente lo que hace la sentencia que te dí.

Con ese update, recorre registro por registro (cada valor es distinto) y copia todos los valores del campo1 + cadena fija en el campo2

Un saludo
__________________
Without data, You are another person with an opinion.
W. Edwads Deming
  #5 (permalink)  
Antiguo 08/04/2009, 18:40
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 campo de varios registros tomando valor de otro campo

Código mysql:
Ver original
  1. mysql> create table tabla_concat(campo1 text, campo2 text);
  2. Query OK, 0 rows affected (0.01 sec)
  3.  
  4. mysql> insert into tabla_concat (campo1) values('texto1');
  5. Query OK, 1 row affected (0.00 sec)
  6.  
  7. mysql> insert into tabla_concat (campo1) values('texto2');
  8. Query OK, 1 row affected (0.00 sec)
  9.  
  10. mysql> insert into tabla_concat (campo1) values('texto3');
  11. Query OK, 1 row affected (0.00 sec)
  12.  
  13. mysql> insert into tabla_concat (campo1) values('texto4');
  14. Query OK, 1 row affected (0.00 sec)
  15.  
  16. mysql> update tabla_concat set campo2=concat('cadena_fija ',campo1);
  17. Query OK, 4 rows affected (0.00 sec)
  18. Rows matched: 4  Changed: 4  Warnings: 0
  19.  
  20. mysql> select *from tabla_concat;
  21. +--------+--------------------+
  22. | campo1 | campo2             |
  23. +--------+--------------------+
  24. | texto1 | cadena_fija texto1 |
  25. | texto2 | cadena_fija texto2 |
  26. | texto3 | cadena_fija texto3 |
  27. | texto4 | cadena_fija texto4 |
  28. +--------+--------------------+
  29. 4 rows in set (0.00 sec)
  30.  
  31. mysql>

Tal vez con un ejemplo lo veas mejor.
__________________
Without data, You are another person with an opinion.
W. Edwads Deming
  #6 (permalink)  
Antiguo 08/04/2009, 19:21
Avatar de _SaMuRai_  
Fecha de Ingreso: julio-2001
Ubicación: Tucumán - Argentina
Mensajes: 80
Antigüedad: 22 años, 9 meses
Puntos: 2
Respuesta: Actualizar campo de varios registros tomando valor de otro campo

Funcionó perfecto !.

No me hizo falta hacer ningún script php. Lo hice directamente desde el phpmyadmin con la sentencia que me pasaste.

Lo último que me faltaría es agregarle a la misma sentencia que sólo modifique los registro cuyo campo Id tiene como valor 0 a 99 dejando sin modificar los restantes , ¿es posible?

UPDATE tabla SET campo2 = CONCAT('cadena fija',campo1) WHERE id = 0 to 99; o algo así jeje

Gracias nuevamente

Última edición por _SaMuRai_; 08/04/2009 a las 19:32
  #7 (permalink)  
Antiguo 09/04/2009, 00:54
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 campo de varios registros tomando valor de otro campo

si es posible samurai...

Código sql:
Ver original
  1. WHERE id >= 0 AND id <= 99

Un saludo.
__________________
Without data, You are another person with an opinion.
W. Edwads Deming

Última edición por huesos52; 09/04/2009 a las 08:12
  #8 (permalink)  
Antiguo 09/04/2009, 23:25
Avatar de _SaMuRai_  
Fecha de Ingreso: julio-2001
Ubicación: Tucumán - Argentina
Mensajes: 80
Antigüedad: 22 años, 9 meses
Puntos: 2
Respuesta: Actualizar campo de varios registros tomando valor de otro campo

Ok perfecto.

Gracias huesos52 por tu ayuda !!
Saludos.
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 18:46.