En los casos que tenemos definida una tabla con una llave primaria autonumérica y nos percatamos que nos faltó Incluir un registro en una posición específica, sólo quedaría insertarlo con la salvedad que no es tan fácil pues no sólo implica colocarle el ID correspondiente sino reordenar el id de todas las filas restantes.
Si bien no suele ser buena idea manipular los id autonuméricos cuando son llave primaria, existen casos en que es vital conservar un orden específico en la posición del contenido de los registros. Para solucionar este problema, ejecute los siguientes pasos:
- Elimine el índice de llave primaria y el atributo autoincremental.
- Ejecute el siguiente código sql:
UPDATE table1 SET id = id + 1 WHERE id >= 3 order by id DESC;
START TRANSACTION;
INSERT INTO table1 (id, value) VALUES (3, 300);
COMMIT; - Vuelva a añadir el autoincremento al campo.
- Defina nuevamente ese campo como llave primaria.
-
¡LISTO!