Ver Mensaje Individual
  #10 (permalink)  
Antiguo 21/12/2017, 05:22
Avatar de gnzsoloyo
gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 17 años
Puntos: 2658
Respuesta: clave primaria duplicada pero no es asi

Bueno, mira. Hay un par de cosas a tener en cuenta...

El UNSIGNED puesto en la clave primaria es imposible que pueda causar un comportamiento como el que dices. Pasar de INT con signo a INT UNSIGNED lo único que hace es en todo caso duplicar el rango de números posibles de generar. Nunca restringirlos.
Pero lo que sí es notable de lo que dices en el primer post es esto:
Cita:
Error:
#1062 - Duplicate entry '35001' for key 'PRIMARY'
Y si miramos con cuidado, el valor del AI definido ahora para la tabla es:
Cita:
ENGINE=MyISAM AUTO_INCREMENT=43894
El número parece ya estar ingresado, por lo que en realidad no debería poder insertarse, y por eso dispara el error.

Ahora, si bien nos muestras el insert de esta forma:
Código SQL:
Ver original
  1. INSERT INTO pruebas(valor,fecha)VALUES(123,CURRENT_TIMESTAMP())
no estamos viendo cómo haces el proceso de inserciones, por lo que estamos SUPONIENDO que lo haces manualmente o por un LOAD DATA. Pero si lo haces por otro medio, es posible (sólo posible) que esté incluyendo el ID como valor a insertar y allí se esté duplicando.
Lo que queda claro es que dado que el valor reclamado por el sistema es el 35001, y el error es a partir de intentar cargar desde el 40.000, de alguna forma tu proceso de inserciones está mandando datos que no tiene que mandar...

Necesitaríamos ver como haces exactamente esa carga "masiva" para saber dónde está el fallo.

Finalmente, una nota: Ten en cuenta que estás usando un ENGINE obsoleto de MySQL, el MyISAM, y en ese motor, cuando truncas la tabla para volver a probarla, NO SE REINICIA el AI. Las MyISAM requieren re-iniciación EXPRESA.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)