Ще трябва да го разделите на 2 операции.
START TRANSACTION;
UPDATE table1 SET id = id + 1 WHERE id >= 3 order by id DESC;
INSERT INTO table1 (id, value) VALUES (3, 300);
COMMIT;
Забележете, че имате нужда от order by
в изявлението за актуализиране, така че първо ще започне с най-високите идентификатори.
Друга идея би била да се декларира id
като decimal(10,1)
и вмъкнете стойност 2.5
като идентификатор между 2 и 3.