|
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
|