Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Sintaxe do MySQL para inserir uma nova linha nas linhas do meio?


Você terá que dividi-lo em 2 operações.
START TRANSACTION;

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

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

COMMIT;

Observe que você precisa do order by na instrução de atualização, então ele começará com os ids mais altos primeiro.

Outra ideia seria declarar id como decimal(10,1) e insira o valor 2.5 como id entre 2 e 3.