在 SQL 表的中间插入行并调整升序 id


Inserting row in the middle of SQL table and adjusting ascending id's

我希望允许在sql表的中间插入行,然后自动将升序id更新为+1。

例:

ROW  ID
1    5
2    6
3    7
4    8

然后,我希望能够插入 id 为 6 的第 5 行,并使其他行更新为当前数字的 +1:

ROW  ID
1    5
2    7
3    8
4    9
5    6

有没有有效的方法? 除了运行整个表并将另一个 ID 调整为 +1 之外?

ID列添加索引。这样,您只需运行实际受更新操作影响的行,而不是整个表。不利的一面是,每个索引都会使插入更加昂贵。

顺便说一句,如果ID列属于您的主键,请不要更改ID条目。