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

Incrementar campo int

Estas en el tema de Incrementar campo int en el foro de Mysql en Foros del Web. Es válido hacerlo de esta forma? Yo siempre lo hice así y nunca tuve problemas sin embargo ahora me devuelve error de sintaxis. Les pego ...
  #1 (permalink)  
Antiguo 29/03/2010, 12:43
 
Fecha de Ingreso: octubre-2003
Mensajes: 540
Antigüedad: 21 años, 2 meses
Puntos: 1
Incrementar campo int

Es válido hacerlo de esta forma?
Yo siempre lo hice así y nunca tuve problemas sin embargo ahora me devuelve error de sintaxis.
Les pego la captura de error de la clase que estoy utilizando actualmente (devuelve 3 lineas con mysql_error, mysql_errno y el sql ejecutado)

Código:

You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'reads=concat(reads+1) WHERE id=1' at line 1
1064
UPDATE articles SET reads=concat(reads+1) WHERE id=1

Gracias desde ya.
  #2 (permalink)  
Antiguo 29/03/2010, 12:46
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 17 años
Puntos: 2658
Respuesta: Incrementar campo int

Tienes dos problemas:
1) READS es una palabra reservada, ya que pertenece a las cláusulas de definición de Stored Functions.
2) CONCAT es una función de cadenas, y no de números, por lo que en realidad está mal usada, ademas de que para funcionar, CONCAT exige al menos dos parámetros separados por comas.
Código MySQL:
Ver original
  1. UPDATE articles
  2. SET `reads`= `reads`+1
  3. WHERE id=1;
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #3 (permalink)  
Antiguo 29/03/2010, 13:02
 
Fecha de Ingreso: octubre-2003
Mensajes: 540
Antigüedad: 21 años, 2 meses
Puntos: 1
Respuesta: Incrementar campo int

Muchas gracias, efectivamente el problema era el nombre del campo.

Con respecto al uso de concat(), parecera extraño pero me funciona correctamente para este caso, igualmente lo voy a corregir.

Gracias nuevamente.
  #4 (permalink)  
Antiguo 29/03/2010, 13:08
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 17 años
Puntos: 2658
Respuesta: Incrementar campo int

Te funciona porque estás haciendo que MySQL haga una conversión implícita de caracter a enteros. Pero se trata de una conversión absolutamente innecesaria...
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)

Etiquetas: incrementar, int, campos
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 06:20.