Seguramente nos ha pasado mas de una vez que ante un corte imprevisto de energía, algunas tablas que tienen definida una clave con autoincremento, al almacenar el ultimo valor, no cambió el contador de autoincremento en la definición de la tabla. Por lo tanto, al intentar grabar un registro nuevo, nos da error de clave duplicada.
Podemos solucionar esto por consola:
Primero veamos cual es el maximo valor almacenado de la clave en dicha tabla:
mysql> select max(id) from movimientos; +------------------------+ | max(id) | +------------------------+ | 116907 | +------------------------+ 1 row in set (0.00 sec)
Luego hacemos un solemne ALTER sumando 1 al resultado de la consulta anterior:
mysql> alter table movimientos AUTO_INCREMENT=116908; Query OK, 0 rows affected (0.06 sec) Records: 0 Duplicates: 0 Warnings: 0