如何调整自动增量?

时间:2019-06-27 07:43:43

标签: mysql sql

大家好。因此,我在Excel中需要插入很多数据,但是我没有注意到我插入了重复的值(因为hr没有对它进行排序)。

所以无论如何,这是交易

minimumScaleFactor()

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

[id][name]
[1][name1]
[2][name2] // I want to delete this row
[3][name3]
[4][name4]

这有可能实现吗?或者,如果没有解决的办法,我可以做吗?

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

1 个答案:

答案 0 :(得分:0)

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

也许最好的解决方案是在第三个时间戳列中记录插入每个记录的时间。然后,您可以使用ROW_NUMBER生成所需的序列,例如

SELECT
    ROW_NUMBER() OVER (ORDER BY ts_column) id,
    name
FROM yourTable
ORDER BY
    id;

可能还可以使用ROW_NUMBER列订购id,并获得相同的结果。如果您使用的MySQL版本早于8+,则可以使用用户变量模拟ROW_NUMBER