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.