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

sumar datos a un campo, separando con comas

Estas en el tema de sumar datos a un campo, separando con comas en el foro de Mysql en Foros del Web. Para agregar un dato nuevo dentro de un campo tengo que hacer primero un slect y luego un update? Me refiero a primero extraer lo ...
  #1 (permalink)  
Antiguo 12/11/2009, 12:46
Avatar de mayid
Colaborador
 
Fecha de Ingreso: marzo-2009
Ubicación: BsAs
Mensajes: 4.014
Antigüedad: 15 años, 1 mes
Puntos: 101
sumar datos a un campo, separando con comas

Para agregar un dato nuevo dentro de un campo tengo que hacer primero un slect y luego un update?

Me refiero a primero extraer lo que hay, y luego anexarle algo nuevo y grabarlo.

Por ejemplo. Teniendo esto:

campo
30,15,78

quiero agregar 98:

30,15,78,98

Hay una funcion para agregar en un solo paso?
  #2 (permalink)  
Antiguo 12/11/2009, 12: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: sumar datos a un campo, separando con comas

con concat lo puedes hacer.

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

slaudos
__________________
Without data, You are another person with an opinion.
W. Edwads Deming
  #3 (permalink)  
Antiguo 12/11/2009, 13:02
Avatar de mayid
Colaborador
 
Fecha de Ingreso: marzo-2009
Ubicación: BsAs
Mensajes: 4.014
Antigüedad: 15 años, 1 mes
Puntos: 101
Respuesta: sumar datos a un campo, separando con comas

Ay, gacias. Ahora mismo estoy haciendo las pruebas .

Segun veo en tu ejemplo, no hay necesidad de hacer un select antes, cierto?

Estoy con esto:
mysql_query("UPDATE publicaciones SET ref=CONCAT_WS(',',ref,'4') WHERE id='$ref'");
y
mysql_query("UPDATE publicaciones SET ref=CONCAT(ref,',4') WHERE id='$ref'");

esperando que funcione. Gracias mil.

EDITADO: Listo. Elproblema era que tenia la celda seteada como INT siendo que iba a incluir cadenas con comas.

Última edición por mayid; 12/11/2009 a las 13:12
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:14.