Tengo un servidor MySQL 5 y una tabla en él con una autoincrementación en un campo de identificación (clave principal). Ahora quiero agregar un registro entre ellos, así que tengo que aumentar todos los demás identificadores en uno. Esto es lo que probé:Incremente el campo de identificación de autoincremento en uno
UPDATE myTable SET id=id+1 WHERE id >= 53
Esto no funciona porque, por ejemplo, ya existe un registro con id = 52. ¿Cómo puedo hacer esto? Si él comenzara en la última entrada y hace las actualizaciones debería funcionar, creo. ¿Pero cómo?
La primaria tiene por objeto proporcionar una identidad * * para una fila, no a la orden del * * ellos. Use una columna separada para especificar su orden deseada. Cambiar la clave principal de una fila después de insertarla solo le dará problemas. –
¿Qué ocurre si se suelta y recrea el campo de autoincreament? –
Dejar caer y volver a crear la columna (o intentar volver a numerar filas existentes) no funcionará, especialmente si ya ha utilizado los ID como una clave externa en otro lugar. (Romperá las conexiones con las filas existentes.) Debería escuchar a @MarkByers: "Cambiar la clave principal de una fila después de insertarla solo le dará problemas". También vea [esto] (http://stackoverflow.com/questions/2106237/is-herehere-any-harm-in-resetting-the-auto-increment) ASÍ LA pregunta y sus respuestas. –