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

Sentencia para incrementar un número

Estas en el tema de Sentencia para incrementar un número en el foro de Mysql en Foros del Web. Hola, me gustaría saber si se puede hacer una sentencia sql que directamente incremente un número en 1. Ahora mismo lo tengo con dos sentencias, ...
  #1 (permalink)  
Antiguo 07/07/2009, 11:31
 
Fecha de Ingreso: octubre-2008
Ubicación: Alicante
Mensajes: 337
Antigüedad: 15 años, 6 meses
Puntos: 9
Sentencia para incrementar un número

Hola, me gustaría saber si se puede hacer una sentencia sql que directamente incremente un número en 1.

Ahora mismo lo tengo con dos sentencias, una para extraer el número, un script que lo incrementa y otra sentencia que lo inserta.

Pero me preguntaba si había alguna forma más rapida, una especie de: "INSERT INTO tabla VALUES campo_numerico+1" o algo así... vamos, hacerlo con una consulta sólo.


Gracias de antemano!!!!
  #2 (permalink)  
Antiguo 07/07/2009, 12:10
Avatar de Avatar810  
Fecha de Ingreso: agosto-2007
Ubicación: Por rumbos Regios
Mensajes: 485
Antigüedad: 16 años, 8 meses
Puntos: 23
Respuesta: Sentencia para incrementar un número

pues lo que escribes es valido pero para el
update tbl set campo+1

para el insert tal vez podrias hacer consultas anidados
insert into tbl (campo1, campo2) values (select max(campos1) from tbl, "campo2")
o algo por el estilo, no probe la instruccion
__________________
Una demo siempre funcionará correctamente hasta que toque algo tu (hasta ahora) cliente.
Avatar810
  #3 (permalink)  
Antiguo 07/07/2009, 12:13
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: Sentencia para incrementar un número

Puedes usar un campo auto_increment.
Cada inserción, se aumenta en uno el valor a insertar. No es necesario incuirlo en la sentencia insert.

Un saludo.
__________________
Without data, You are another person with an opinion.
W. Edwads Deming
  #4 (permalink)  
Antiguo 07/07/2009, 12:19
Avatar de Avatar810  
Fecha de Ingreso: agosto-2007
Ubicación: Por rumbos Regios
Mensajes: 485
Antigüedad: 16 años, 8 meses
Puntos: 23
Respuesta: Sentencia para incrementar un número

El detalle con el autoincremente es que debe cumplir con la condición de que ese campo lo debes convertir en la ÚNICA llave primaria.
__________________
Una demo siempre funcionará correctamente hasta que toque algo tu (hasta ahora) cliente.
Avatar810
  #5 (permalink)  
Antiguo 07/07/2009, 16:55
 
Fecha de Ingreso: octubre-2008
Ubicación: Alicante
Mensajes: 337
Antigüedad: 15 años, 6 meses
Puntos: 9
Respuesta: Sentencia para incrementar un número

Si, lo del campo con autoincremento lo tengo aparte, como clave primaria. Lo que quiero hacer es para contabilizar las visitas a una determinada página de la web.

Me funciona perfecto con lo que me dijiste Avatar810.

Muchas gracias compis!!
  #6 (permalink)  
Antiguo 07/07/2009, 19:44
 
Fecha de Ingreso: octubre-2008
Ubicación: Alicante
Mensajes: 337
Antigüedad: 15 años, 6 meses
Puntos: 9
Respuesta: Sentencia para incrementar un número

Buenas, no se que hice que creía que si que se incrementó, no he tocado nada. No incrementa el campo, no sé como ví que sí que lo hacia...

Lo tengo así: UPDATE tabla SET campo+1 WHERE registro=$id;


¿Qué hay mal? Gracias, y disculpen el mareo.
  #7 (permalink)  
Antiguo 07/07/2009, 19:46
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: Sentencia para incrementar un número

UPDATE tabla SET campo=(campo+1) WHERE registro=$id;

pruebalo así.
__________________
Without data, You are another person with an opinion.
W. Edwads Deming
  #8 (permalink)  
Antiguo 08/07/2009, 10:19
 
Fecha de Ingreso: octubre-2008
Ubicación: Alicante
Mensajes: 337
Antigüedad: 15 años, 6 meses
Puntos: 9
Respuesta: Sentencia para incrementar un número

huesos52 me funciona a la perfección.

Muchas gracias una vez más!!
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 15:58.