2012-05-22 20 views
12

La columna item_category_id es un valor de incremento automático en la tabla mysql.Cómo restablecer el número/columna de incremento automático en una tabla MySql

tengo que eliminar todos los valores & próxima inserción debe comenzar desde 1. Si elimino todos los valores & intenta insertar una nueva fila a continuación, se inicia con algunos de los 30 años 40 &.

item_category_id item_category_name 
    1      qqq 
    25     ccc 
    32     vvv 
    29     bb 
    4      bbb 
    31     hhh 
    34     mmm 
    33     rrr 

Respuesta

34
ALTER TABLE TABLENAME AUTO_INCREMENT = 1 

En lugar de utilizar Borrar si utiliza Truncar que eliminará datos y también se restablecerá incremento automático.

TRUNCATE TABLE TABLENAME 
+0

A menos que tenga las claves externas, en cuyo caso, usted necesita para agregar 'SET FOREIGN_KEY_CHECKS = 0;' antes del truncado y 'SET FOREIGN_KEY_CHECKS = 1;' después de – brianlmerritt

8

Si está utilizando phpMyAdmin para administrar su base de datos, usted podría simplemente

  • Seleccionar YOUR_TABLE
  • Vaya a More
  • A continuación, vaya a Operations
  • Allí encontrará un campo AUTO_INCREMENT que puede modificar:

How to change <code>AUTO_INCREMENT</code> value

3
SET @num := 0; 

UPDATE your_table SET id = @num := (@num+1); 

ALTER TABLE your_table AUTO_INCREMENT =1; 

Creo que esto va a hacer que

+0

Estoy de acuerdo con su respuesta, pero no estoy de acuerdo con la última declaración alternativa. Digamos que si tiene 1000 registros, su declaración de actualización restablecerá técnicamente los valores de identificación para que sean de 1 a 1000. Después de eso, no tiene sentido establecer el valor AUTO_INCREMENT en 1, sino que debería ser 1001. ¿Tiene sentido eso? ? La modificación debe ser algo así como: ALTER TABLE your_table AUTO_INCREMENT = ((SELECCIONE MAX (id) DE su_tabla) +1); – Moll

Cuestiones relacionadas