重新计算UserID列

时间:2015-09-26 09:20:05

标签: mysql

我在我的网站上工作,我注意到所有用户的ID都是1.337.134.060

我想重新计算一下,这样它将再次从UserID 1开始。

如何在不损害现有用户帐户的情况下执行此操作?

1 个答案:

答案 0 :(得分:0)

如果您想要一个额外的列作为行数,那么

select tbl.*,
    @r := @r + 1 as new_userID
from tbl,
(select @r := 0) r

如果您想更新用户ID,如1,2,3等,那么

update tbl t
join (
    select tbl.id,
        @r := @r + 1 as new_userID
    from tbl,
    (select @r := 0) r
) x
on x.id = t.id
set t.id = x.new_userID

假设User id是唯一的