Ver Mensaje Individual
  #8  
Antiguo 17-07-2003
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Reputación: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
Perdón por la necedad pero sigo sin captar.

Hasta donde yo entiendo el autoincremento se hace hasta que se hace el "post" a la base. Así sucede al menos en paradox (si se hace un append y se cancela el autoincrement no aumenta) y lo mismo en mysql; el autoincrement se asigna hasta el momento que se ejecuta el INSERT.

El problema vendría si se desea cancelar después de que el registro se haya guardado en la tabla pero esto mismo sucederá con las otras técnicas.

En cuanto al formato de los números no veo el problema; una vez que se dispone de un autoincremental se puede dar formato a otro campo tomando el autoincremental como base, por ejemplo, en mysql podríamos hacer:

INSERT INTO tabla values(0, campo1, campo2,...)

Recuperar el autoincrement asignado con

SELECT last_insert_id()

y usarlo para el número de control:

UPDATE tabla SET no_control = concat(fecha, '-', ID)

o bien, ahorrándonos un paso:

UPDATE tabla SET no_control = concat(fecha, '-', last_insert_id())

Y todo esto sin los problemas de tener que bloquear las tablas para no desincronizar el autoincremental

// Saludos
Responder Con Cita