首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何调整自动增长?

如何调整自动增长?
EN

Stack Overflow用户
提问于 2019-06-27 07:43:43
回答 1查看 34关注 0票数 0

祝大家今天愉快。因此,我在excel中有很多数据需要插入到db中,但我没有注意到我插入了一个重复的值(因为hr没有对其进行排序)。

所以不管怎么说,这就是交易

代码语言:javascript
复制
[id][name]
[1][name1]
[2][name2] // I want to delete this row
[3][name3]
[4][name4]

我想删除第2行。我想让id自动调整,

代码语言:javascript
复制
[id][name]
[1][name1]
[2][name3] // The id will adjust
[3][name4]

这是可能的吗?或者如果没有,我能做些什么吗?

PS:我的数据已经是50k,我想删除7k中的行

EN

回答 1

Stack Overflow用户

发布于 2019-06-27 07:51:37

通常,您应该避免手动干预自动增量列。这意味着,除其他外,当您将数据插入到表中时,应该省略自动增量列,从而允许MySQL自动为其赋值。

也许这里最好的解决方案是有第三个时间戳列,它记录每条记录的插入时间。然后,您可以使用ROW_NUMBER生成您想要的序列。

代码语言:javascript
复制
SELECT
    ROW_NUMBER() OVER (ORDER BY ts_column) id,
    name
FROM yourTable
ORDER BY
    id;

您也可以使用ROW_NUMBER列对id进行排序,并获得相同的结果。如果您使用的MySQL版本早于8+,则可以使用用户变量模拟ROW_NUMBER

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56786307

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档