Będziesz musiał podzielić to na 2 operacje.
START TRANSACTION;
UPDATE table1 SET id = id + 1 WHERE id >= 3 order by id DESC;
INSERT INTO table1 (id, value) VALUES (3, 300);
COMMIT;
Zauważ, że potrzebujesz order by
w instrukcji update, więc zacznie się od najwyższych identyfikatorów.
Innym pomysłem byłoby zadeklarowanie id
jako decimal(10,1)
i wstaw wartość 2.5
jako id w przedziale od 2 do 3.