![]() |
![]() |
| Paypal | FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
|||||||
| Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Buscar | Temas de Hoy | Marcar Foros Como Leídos |
![]() |
|
|
Herramientas | Buscar en Tema | Desplegado |
|
|
|
#1
|
|||
|
|||
|
Cita:
Es que si es un entero de 32 bits tiene millones de posiciones... osea con lo anterior se soluciona el problema de conecurrencia, si hay 2 o mas pc s haciendo ticket.. la verdad no interesa si se saltea un numero.. De hecho si una transaccion falla sobre un autoincremental y el ultimo idticket era 17, el 18 no se ocupa nunca mas.. si la proxima transaccion tiene exito sera el 19... La funcion last_insert_id() retornara 18 para referenciar el ticket en la tabla detalleticket por lo tanto no sirve... Y la funcion max(idticket) si falla el 18 la proxima vez sera 18, pero no sirve porque si 2 pc generan esa consulta.. ambos detalles de ticket corresponderan al mismo ticket.. porque devolvera 18 en ambos casos... |
|
#2
|
||||
|
||||
|
Porque no se entiende qué quieres exactamente.
Por lo que dices, lo que buscas en un id "normal y corriente", para eso están los generadores autoincrementales, nunca jamás se repiten. Lo que comentas de bloqueos y repetirse, etc. no ocurre con ellos.
__________________
La otra guía de estilo | Búsquedas avanzadas | Etiquetas para código | Colabora mediante Paypal |
|
#3
|
|||
|
|||
|
Bueno es que a mi la funcion last_insert_id() me retorna 1.. no se porque.. y la vez pasada insertaba mal el idticket luego de que una transaccion hizo rollback..
|
|
#4
|
||||
|
||||
|
Si no pones código o explicas en detalle cómo lo haces, solo podemos adivinar
![]()
__________________
La otra guía de estilo | Búsquedas avanzadas | Etiquetas para código | Colabora mediante Paypal |
|
#5
|
|||
|
|||
eso es en DataSnap y dentro de quticket tengo last_insert_id(), como veras hice un showmessage... y veo un 1.. |
|
#6
|
||||
|
||||
|
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 | Colabora mediante Paypal Última edición por Casimiro Noteví fecha: 15-05-2015 a las 11:09:04. |
|
#7
|
|||
|
|||
|
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 Noteví fecha: 15-05-2015 a las 11:09:17. |
![]() |
| Herramientas | Buscar en Tema |
| Desplegado | |
|
|
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 |
|