gpt4 book ai didi

用于在中间行中插入新行的 MySQL 语法?

转载 作者:IT老高 更新时间:2023-10-28 23:57:03 32 4
gpt4 key购买 nike

mysql sintax 用于在中间行或我们想要的任何地方插入新行而不更新现有行,但自动增加主键(id)?

' id | value
' 1 | 100
' 2 | 200
' 3 | 400
' 4 | 500

我想在 id 2 之后插入一个新行,值 = 300。我希望输出如下:

' id | value
' 1 | 100
' 2 | 200
' 3 | 300 <-- new row with id (automatic increment)
' 4 | 400 <-- id=id+1
' 5 | 500 <-- id=id+1

谢谢。

最佳答案

您必须将其拆分为 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 开始。

另一个想法是将 id 声明为 decimal(10,1) 并在 2 和 3 之间插入值 2.5 作为 id。

关于用于在中间行中插入新行的 MySQL 语法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6333623/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com