gpt4 book ai didi

mysql - 删除一行后如何在mysql数据库中排列ID?

转载 作者:太空宇宙 更新时间:2023-11-03 10:45:46 24 4
gpt4 key购买 nike

我在 mysql 中有一个表,我删除了一些行但现在 id 变得无序了8、10、11、13、14、16 等(这只是一个例子)。它几乎是巨大的数据,那么我如何使用查询来订购它?

最佳答案

简短的回答:你没有。

长答案:行 ID 已经具有语义意义,在这种情况下,您肯定希望随意“重新编号”8 到 1 和 10 到 2,从而更改它的数据代表;或者,它是一个无意义的伪键,在这种情况下,值是什么并不重要 - 您仍然可以 ORDER BY 它,有间隙或没有间隙。

XY 答案:如果出于某种原因在查询中需要“行号”,可以使用以下技巧,它会在结果集上递增一个变量。请注意,我不是按无意义的 id 排序,而是按一些有意义的列排序,例如 dateInserted

SET @rn = 0;
SELECT @rn := @rn + 1 as rn, *
FROM myTable
ORDER BY dateInserted

关于mysql - 删除一行后如何在mysql数据库中排列ID?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32063792/

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