Ver Mensaje Individual
  #2 (permalink)  
Antiguo 22/05/2012, 13:56
leonardo_josue
Colaborador
 
Fecha de Ingreso: enero-2007
Ubicación: México
Mensajes: 2.097
Antigüedad: 18 años
Puntos: 447
Respuesta: Reset Auto incremet

Hola Carmelo9:

¿Qué utilidad le vez a reiniciar un campo autoincremental? además de el hecho de tener tus llaves "ordenadas"

Muchas veces hemos platicado en este foro de lo inútil que es "jugar" con los campos autoincrementales, el que tengas tus id's como 1,2,3,4 es exactamente lo mismo a que los tengas como 10,23,45563,1234211. No hay diferencia en cuanto a performance, y si puedes tener problemas con integridad referencial, si no tienes un adecuado uso de llaves foráneas.

¿Quieres numerar de manera secuencial tus registros? bueno, hay técnicas y/o trucos que te pueden ayudar

Código MySQL:
Ver original
  1. SELECT t.*, @rownum := @rownum + 1 posicion
  2.   FROM TuTabla t, (SELECT @rownum := 0) r

Pero bueno, como esa no era la pregunta, para alterar el valor del campo autoincremental lo haces con

Código:
ALTER TABLE tu_tabla AUTO_INCREMENT = valor_inicial_del_campo
Checa este scrpit:

Código MySQL:
Ver original
  1.     -> descripcion varchar(5), primary key (id));
  2. Query OK, 0 rows affected (0.08 sec)
  3.  
  4. mysql> insert into tabla (descripcion) values ('uno'), ('dos'), ('tres');
  5. Query OK, 3 rows affected (0.02 sec)
  6. Records: 3  Duplicates: 0  Warnings: 0
  7.  
  8. mysql> select * from tabla;
  9. +----+-------------+
  10. | id | descripcion |
  11. +----+-------------+
  12. |  1 | uno         |
  13. |  2 | dos         |
  14. |  3 | tres        |
  15. +----+-------------+
  16. 3 rows in set (0.00 sec)
  17.  
  18. mysql> delete from tabla;
  19. Query OK, 3 rows affected (0.04 sec)
  20.  
  21. mysql> insert into tabla (descripcion) values ('uno');
  22. Query OK, 1 row affected (0.02 sec)
  23.  
  24. mysql> select * from tabla;
  25. +----+-------------+
  26. | id | descripcion |
  27. +----+-------------+
  28. |  4 | uno         |
  29. +----+-------------+
  30. 1 row in set (0.00 sec)
  31.  
  32. mysql> delete from tabla;
  33. Query OK, 1 row affected (0.02 sec)
  34.  
  35. mysql> alter table tabla auto_increment = 1;
  36. Query OK, 0 rows affected (0.26 sec)
  37. Records: 0  Duplicates: 0  Warnings: 0
  38.  
  39. mysql> insert into tabla (descripcion) values ('uno');
  40. Query OK, 1 row affected (0.02 sec)
  41.  
  42. mysql> select * from tabla;
  43. +----+-------------+
  44. | id | descripcion |
  45. +----+-------------+
  46. |  1 | uno         |
  47. +----+-------------+
  48. 1 row in set (0.00 sec)

Saludos
Leo.