FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
|
#1
|
||||
|
||||
Se supone que está correcto, ¿no?
http://mysql.conclase.net/curso/?sqlfun=LAST_INSERT_ID Cita:
__________________
La otra guía de estilo | Búsquedas avanzadas | Etiquetas para código Únete al grupo Teaming clubdelphi | Colabora mediante Paypal Última edición por Casimiro Notevi fecha: 15-05-2015 a las 11:09:04. |
#2
|
|||
|
|||
Claro me queda descubrir porque me da 1 el server, probe hacer 2 ticketts y devuelve 1.
Se pueden generar secuencias sin llamar a LAST_INSERT_ID(), pero al utilidad de usar la función de este modo es que el valor ID se mantiene en el servidor como el último valor generado automáticamente (seguro en multiusuario) aparte si tengo 2 sucursales son 2 conexiones distintas entonces no va a tomar el id insertado por otro: hay 17 y una conexion inserta 1 sera 18 pero la otra conexion no lo ve. Pero yendo al grano: ¿cual seria la solucion correcta entonces(a ver si entiendo)? en lo que negrie arriba dice seguro en multiusuario: osea que es correcta la solucion que te plantie de tener los ids en una tabla aparte. Perdona mi ignorancia.. Última edición por Casimiro Notevi fecha: 15-05-2015 a las 11:09:17. |
#3
|
||||
|
||||
Las ventajas de las secuencias (llamadas generadores en Firebird) es que no son transaccionales y es imposible que dos peticiones "Next Value" obtengan el mismo valor. Te recomiendo que tu aplicación cliente, justo al comenzar la captura de un registro, pida a una secuencia/generador de la base de datos su siguiente valor y lo asignes en ese momento desde la propia aplicación al nuevo registro en memoria. Eso te permitirá un mejor control de relaciones entre registros.
Incluso si el registro no termina siendo guardado, no hay problema, las llaves primarias (campos ID) no tienen por qué ser números consecutivos; para eso son otros campos: NUMERO/CLAVE/CODIGO, para los cuales sí puedes hacer Select Max y tener un índice con restricción unique para impedir que se asigne el mismo valor a una lista de datos que deben ir numerados de forma consecutiva. Saludos. |
#4
|
|||
|
|||
Cita:
|
#5
|
||||
|
||||
¿Lo has solucionado?
|
#6
|
|||
|
|||
Estoy en eso... voy a implementar un id no consecutivo osea no autoincremental... de seguro funcionara.. Gracias
|
#7
|
|||
|
|||
hice lo siguiente y funciono:
nunca falla.. |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Como obtener un ultimo registro de una tabla!! | Caray | Varios | 4 | 09-07-2008 03:55:35 |
Extraer ultimo campo de tabla | Petolansa | Varios | 4 | 26-10-2007 02:39:53 |
Consulta que obtiene campos de una tabla u otra según condición | Gabo | SQL | 10 | 20-08-2007 08:53:02 |
como conocer el ultimo valor autonumerico creado de una tabla | Tama | MS SQL Server | 8 | 16-06-2004 19:14:30 |
Ir al último registro de una tabla | fortran | Tablas planas | 6 | 05-09-2003 16:36:02 |
|