您将不得不将其分为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在update语句中使用,因此它将首先从最高ID开始。
另一个想法是在2到3之间声明
idas
decimal(10,1)并将值插入
2.5id。

您将不得不将其分为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在update语句中使用,因此它将首先从最高ID开始。
另一个想法是在2到3之间声明
idas
decimal(10,1)并将值插入
2.5id。