Sie müssen es in 2 Operationen aufteilen.
START TRANSACTION;
UPDATE table1 SET id = id + 1 WHERE id >= 3 order by id DESC;
INSERT INTO table1 (id, value) VALUES (3, 300);
COMMIT;
Beachten Sie, dass Sie order by
benötigen in der Update-Anweisung, also beginnt es zuerst mit den höchsten IDs.
Eine andere Idee wäre, id
zu deklarieren als decimal(10,1)
und fügen Sie den Wert 2.5
ein als ID zwischen 2 und 3.