sql >> Base de Datos >  >> RDS >> Mysql

¿Sintaxis de MySQL para insertar una nueva fila en filas intermedias?

Tendrás que dividirlo en 2 operaciones.

START TRANSACTION;

UPDATE table1 SET id = id + 1 WHERE id >= 3 order by id DESC;

INSERT INTO table1 (id, value) VALUES (3, 300);

COMMIT;

Tenga en cuenta que necesita el order by en la instrucción de actualización, por lo que comenzará primero con los ID más altos.

Otra idea sería declarar id como decimal(10,1) e inserte el valor 2.5 como id entre 2 y 3.