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

campo autoincrement dependiente de otro campo

Estas en el tema de campo autoincrement dependiente de otro campo en el foro de Mysql en Foros del Web. Buenas tardes, La situación que se me presenta es la siguiente. En una table tengo una columna llamada id_usuario y otra llamada id_operacion Necesito que ...
  #1 (permalink)  
Antiguo 17/01/2010, 11:43
 
Fecha de Ingreso: abril-2004
Mensajes: 154
Antigüedad: 20 años
Puntos: 0
campo autoincrement dependiente de otro campo

Buenas tardes,
La situación que se me presenta es la siguiente.
En una table tengo una columna llamada id_usuario y otra llamada id_operacion

Necesito que id_operación sea autoincrement pero específicamente para cada id_usuario

Ej:
id_usuario = 1
id_operacion = 5

id_usuario = 2
id_operacion = 10

Necesito que el id_operación del id_usuario = 1 tenga como próximo valor 6 y el id_operación del id_usuario = 2 tenga como próximo valor 11

Creo que nativamente el motor no me permite esta clase de dependencia pero quisiera saber si a alguien se le ocurre una buena manera de lograrlo, ya sea con triggers, Stored Procedures etc.

Mil gracias
__________________
Desdichado quien duerme en la mañana
  #2 (permalink)  
Antiguo 18/01/2010, 06:53
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Sabadell
Mensajes: 4.897
Antigüedad: 16 años, 1 mes
Puntos: 574
Respuesta: campo autoincrement dependiente de otro campo

Creo que la forma de tratar esto és la siguiente,

Agregas un campo "proxima_operacion" en el registro de la tabla usuarios, con default 1.

Cuando tengas que hacer un insert en la tabla "operaciones" previamente consultas el valor de "proxima_operacion" del usuari en cuestion, lo usas para hacer el insert y luego actualizas (+1) el valor en la tabla usuarios.

Las tres consultas select, insert y update deberian formar una sola transacción para evitar que se puedan producir inconsistencias por concurrencia....


Quim
  #3 (permalink)  
Antiguo 18/01/2010, 07:53
 
Fecha de Ingreso: abril-2004
Mensajes: 154
Antigüedad: 20 años
Puntos: 0
Respuesta: campo autoincrement dependiente de otro campo

Gracias quimfv, lo solucioné con un Trigger.
Antes de aplicar un insert en la tabla, consulto el máximo valor de las operaciones del usuario y le agrego uno.

Saludos.
__________________
Desdichado quien duerme en la mañana
  #4 (permalink)  
Antiguo 18/01/2010, 08:20
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Sabadell
Mensajes: 4.897
Antigüedad: 16 años, 1 mes
Puntos: 574
Respuesta: campo autoincrement dependiente de otro campo

Basicamente es la misma solución, pero dependiendo de el numero de operaciones, calular ese numero puede ser costoso, mientras que el numero de usuarios siempres será menor....

Imagina que tenemos 10 usuarios y 2 millones de operaciones...

Quim

Etiquetas: dependiente, campos, autoincrementable
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 20:57.