我想在MySQL表的计数器列中找到第一个“间隙”。例如,如果有值1、2、4和5,我希望找到3,更新4到3,5到4等等。问题是,差距可以在表的任何一点(第一个值也是),它可以跨越多个值。
我知道这不是一个很好的模式,标准的解决方案是忽略这些空白,但在这种情况下,这样做是不可能的。
可以在SQL (使用MySQL)或PHP中完成。
发布于 2019-02-12 13:57:35
尽管这并不是一种很好的方法,但如果您唯一关心的是希望所有现有行都没有空白处编号,那么您可以继续在这样的更新中对它们重新编号。
SET @ROW:= 0;
UPDATE TABLE SET COUNTER_ROW = @Row := @Row+1 https://stackoverflow.com/questions/54650937
复制相似问题