2011-06-26 13 views
5

Duplicar posible:
MySQL: Reorder/Reset auto increment primary key?incremento automático después de eliminar de una mesa

si elimino de mi mesa un ligne y en este Tabla I tiene un ID de incremento automático, suprimir de tabla donde id = 2

después de esto la mesa será así

ID | NAme 
1  aaa 
3  cccc 

¿Cómo puedo solucionar el ID sea así

ID | NAme 
1  aaa 
2  cccc 
3  dddd 
+0

No estoy seguro de por qué quieres hacer esto, la identificación se incrementa automáticamente por algún motivo. – ChrisBint

+2

Sin duda, no le gustaría hacer eso. Podría conducir a confusiones peligrosas ... – blubb

+0

+1 a la muy buena pregunta –

Respuesta

1

mirada a esta respuesta: Reorder/reset auto increment primary key

+0

Creo que esta es la forma incorrecta de hacer las cosas. El diseño incorrecto de la base de datos viene en mente. Nunca fue necesario volver a asignar los campos de autoincrement. – evilone

+0

Este es un comentario, no una respuesta. Debería votarse una pregunta duplicada. –

0

Autoincrement no funciona de esta manera. Si tiene 2 registros en la tabla con ID-s 1 y 2 y elimina el registro con ID 2, entonces el siguiente siempre será 3.

Le sugerimos que agregue una columna adicional manteniendo esos valores por las razones lo necesitas para.

Además, aprendí en la escuela hace mucho tiempo, que en los mejores sistemas, nunca se eliminan los registros. Hay una columna que contiene el valor de la marca de tiempo que los marca como "eliminados".

+1

Soft-delete es una decisión de diseño y no una regla. A menudo está ahí para admitir el almacenamiento de datos. –

+0

@Merlyn Totalmente de acuerdo – evilone

Cuestiones relacionadas