Tengo una tabla MySQL con una columna de identificación autoincrementada. La identificación comenzó desde 1 y ahora está en 4000s.¿Qué sucede cuando el autoincremento choca con los datos existentes en MySQL?
Sin embargo, también debo portar algunos datos heredados en esta tabla desde una versión anterior de la aplicación. Los ID de estos datos comienzan desde 5000 y se deben preservar para fines de auditoría.
¿Qué sucede si inserto una entrada después de que mi contador autoincrement es de hasta 4999? ¿Es la autoincrementación lo suficientemente inteligente como para buscar la próxima identificación disponible o se bloqueará porque intenta insertar la identificación 5000, que ya existe?
Si bien los consejos sobre cómo solucionar este problema son muy útiles, también me gustaría saber qué haría MySQL en esta situación y si necesito intervenir en absoluto.
Tenemos algo que está pasando en una tabla Transactional innoDB donde se autoincrementa hacia arriba, pero debajo de la identificación máxima. Creo que esta simple prueba es simplemente muy simple. Estoy bastante seguro de que mysql omitirá automáticamente las ID existentes, pero no estoy 100% –
Sí, tenemos una autoincrementación de innoDb menor que max (id), no estoy seguro de lo que sucederá –
El problema con su prueba aquí es que usted tiene insertado con una instrucción de inserción normal. He tenido bastantes problemas en los que he restaurado regularmente una base de datos de producción en un servidor de desarrollo, y los incrementos automáticos del servidor de desarrollo no se actualizan y, por lo tanto, colisionan con los registros ahora existentes de producción cuando voy a crear una nueva entrada en dev. –