U moet het in 2 bewerkingen splitsen.
START TRANSACTION;
UPDATE table1 SET id = id + 1 WHERE id >= 3 order by id DESC;
INSERT INTO table1 (id, value) VALUES (3, 300);
COMMIT;
Merk op dat je de order by . nodig hebt in de update-instructie, dus deze begint eerst met de hoogste id's.
Een ander idee zou zijn om id . te declareren als decimal(10,1) en voeg waarde in 2.5 als id tussen 2 en 3.