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

Update al siguiente número

Estas en el tema de Update al siguiente número en el foro de Mysql en Foros del Web. Buenas. Tengo un problema al crear una sentencia sql. Dispongo de una tabla que al inicio tiene una columna de integers a 0. Debo hacer ...
  #1 (permalink)  
Antiguo 01/06/2011, 09:53
 
Fecha de Ingreso: abril-2007
Mensajes: 82
Antigüedad: 17 años
Puntos: 0
Update al siguiente número

Buenas.

Tengo un problema al crear una sentencia sql.

Dispongo de una tabla que al inicio tiene una columna de integers a 0.

Debo hacer que una fila en particular aumente su numero al siguiente máximo de la columna. Si el máximo que hay es 0 que pase a ser 1. Si es 2 que pase a 3.

Estoy intentándolo con varias sentencias, pero no recuerdo muy bien como hacerlo.

Dejo aqui las que he intentado:

Código:
update `order` set invoice_id = (select max(invoice_id) from `order`) + 1 where order_id = 5 and invoice_id = 0
Código:
update `order` set invoice_id = max(invoice_id) + 1 where order_id = 5 and invoice_id = 0
Espero puedan ayudarme.

Gracias
  #2 (permalink)  
Antiguo 01/06/2011, 09:58
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 5 meses
Puntos: 2658
Respuesta: Update al siguiente número

No puedes consultar y actualizar una misma tabla en la misma consulta, y menos aún sin el campo a actualizar es el mismo que estás analizando para buscar su máximo.
Lo que puedes hacer es intentar un TRIGGER, por no un UPDATE.
Mi duda es cuál es el sentido de ese campo. ¿Para qué necesitas exactamente ese valor, o qué representa?
__________________
¿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 01/06/2011, 10:22
 
Fecha de Ingreso: abril-2007
Mensajes: 82
Antigüedad: 17 años
Puntos: 0
Respuesta: Update al siguiente número

Es un campo de una plataforma de pago electrónico. Es el numero que especifica la factura de la orden actual. Por defecto esta a 0 (cosa de ese sistema). Yo en un momento especifico necesito que ese numero de factura exista si o si (mas específicamente para una pasarela de pago) y por ello debo actualizarlo al id de factura que corresponde. En este caso el siguiente al valor máximo.

Pues nada, haré un select por un lado y un update por otro. Gracias igualmente.
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 09:37.