我有一个表中有一个序列中有数字的列,但对于某些数字,它们可以与几个相同的数字组成一个组。然后,当用户删除一个组时,数字可能会出现空白。重新排序MySQL列序号
我想要做的是重新排列该列,使其从1开始,然后继续到最后一列。因此,例如,名为Item
表列看起来是这样的:
1
1
2
3
5
5
7
8
8
,我希望它转换成这样:
1
1
2
3
4
4
5
6
6
有没有办法在MySQL做到这一点?
我有一个表中有一个序列中有数字的列,但对于某些数字,它们可以与几个相同的数字组成一个组。然后,当用户删除一个组时,数字可能会出现空白。重新排序MySQL列序号
我想要做的是重新排列该列,使其从1开始,然后继续到最后一列。因此,例如,名为Item
表列看起来是这样的:
1
1
2
3
5
5
7
8
8
,我希望它转换成这样:
1
1
2
3
4
4
5
6
6
有没有办法在MySQL做到这一点?
我不鼓励这样做,但你可以重号每次更新
set @cnt = 0;
update test t set [email protected]:[email protected]+1;
更新后,你的价值观:这将由一个
OP在他们的数据中有模糊,这会消除。数据丢失。 – ceejayoz
的确如此,我刚刚注意到了这些蠢事。需要更复杂的方法,例如存储过程 –
递增数场似乎并不像一个好的设计。只需要一次删除,您可能需要更新整个表格。你究竟在努力实现什么? –
请记住,数据库不需要/是/人类可读的,并且程序并不在乎它是否有4个或5个。 – amflare
是的,我会在每次删除时更新表。这是一个名为范围的表,其中每个范围(输入的某些文本)可以与相同的项目或不同的项目相关。 – peteswanson12