Mysql
 sql >> Database >  >> RDS >> Mysql

Come ripristinare AUTO_INCREMENT in MySQL

Puoi azzerare il contatore con:

ALTER TABLE tablename AUTO_INCREMENT = 1

Per InnoDB non puoi impostare auto_increment valore inferiore o uguale all'indice corrente più alto. (citazione da ViralPatel ):

Si noti che non è possibile reimpostare il contatore su un valore inferiore o uguale a quelli già utilizzati. Per MyISAM, se il valore è minore o uguale al valore massimo attualmente nella colonna AUTO_INCREMENT, il valore viene ripristinato al massimo corrente più uno. Per InnoDB, se il valore è inferiore al valore massimo corrente nella colonna, non si verifica alcun errore e il valore della sequenza corrente non viene modificato.

Vedi Come posso reimpostare un MySQL AutoIncrement utilizzando un valore MAX da un'altra tabella? su come ottenere dinamicamente un valore accettabile.