MySQL - promeblas con mis clave principales autoincrement, no se mantienen sincronizadas...

   
Vista:

promeblas con mis clave principales autoincrement, no se mantienen sincronizadas...

Publicado por Sindy (2 intervenciones) el 09/03/2015 07:53:14
Hola..! cuando envio los datos de un formulario a mi base de datos, las PK autoincrimentales de mis tablas no siguen la secuencia, no se incrementan iguales, aveces se brincan un numero y no puede mantener la relacion entre las filas de cada tabla....no se si el problema esta en el codigo php, pues cree un solo formulario que alimenta a varias tablas a la vez por medio de un mismo imput enviar.... trate creando claves foraneas que funcionan muy bien cuando lleno las tablas directamente en mysql por que me da la posibilidad de escoger la clave foranea en un desplegable, pero la idea es que sea algo automatico, por eso quiero que se autoincremente la PK de cada tabla de manera precisa.... por favor alguien que me ayude por favor...
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de xve

promeblas con mis clave principales autoincrement, no se mantienen sincronizadas...

Publicado por xve (899 intervenciones) el 09/03/2015 14:19:19
Hola Sindy, estaría bien que nos mostraras la estructura de la tabla y como insertas el registro para averiguar porque te hace esos saltos que indicas.

No cabe decir que el valor autoincremental funciona perfectamente en MySQL.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

promeblas con mis clave principales autoincrement, no se mantienen sincronizadas...

Publicado por SuperIndio (35 intervenciones) el 10/03/2015 14:30:38
Bueno antes que nada... necesitamos ver un poco la structura...
y tener autoincrementales en la clave no es lo mejor... sera irrepetible
pero no guarda relacion con la entidad conceptual de la tabla. Yo prefiero
una clave compuesta pero que guarde relacion conceptual
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

promeblas con mis clave principales autoincrement, no se mantienen sincronizadas...

Publicado por Leopoldo Taylhardat (43 intervenciones) el 12/03/2015 23:19:04
Saludos...
Me pasó con una base de datos que cuando fallaba la inserción el registro de autoincremento se alteraba... saltaba los numeros al igual que sucede en tu caso, no sé si Mysql tiene la misma falla porque no soy experto en esta bd...
Lo solucioné haciendo el autoincremento por mi cuenta con un trigger (insertion before) que busca cual es el último número almacenado y lo incrementa en 1 para asignarlo al nuevo dato (tupla)...
Por supuesto creé un indice por secuencia invertida (descendente) de la columna para que fuera rápida la busqueda del valor a ser incrementado.
Espero que te sirva.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar

promeblas con mis clave principales autoincrement, no se mantienen sincronizadas...

Publicado por javier (2 intervenciones) el 13/03/2015 16:35:56
Hola, si hice lo mismo con LAST_SELECT_ID, pero me sigue dando el error cuando provoco la duplicidad del campo desde el formulario, osea me crea un registro vacio de los datos que aun no he podido subir desde el formulario por causa
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

promeblas con mis clave principales autoincrement, no se mantienen sincronizadas...

Publicado por eyanez (17 intervenciones) el 18/03/2015 19:47:44
Hola, realmente no entiendo muy bien la pregunta, pero te comento que nunca he tenido falla con los auto_increment de mysql, en otros manejadores de base de datos existen también sequences, pero hacerlo por tu cuenta sin tener en cuenta la concurrencia te puede traer problemas, y para hacerlo concurrente o implementas con LOCK table o con GET_LOCK pero igual no te va a funcionar desde un trigger el LOCK por ejemplo por que eso es una de las restricciones.

Te aconsejo que revises tu código primero que nada, si quiere publica el pedazo para entenderlo mejor, otra cosa también es usar una transacción con BEGIN TRANSACTION y COMMIT asi te aseguras que se ejecuten todas las operaciones o ninguna
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar