mysql技能大全

发布时间 2023-10-20 10:38:48作者: Franson

1.将【user】表中“用户名”字段值相同的记录加序号以保证“用户名”字段取值唯一性

前提条件:【user】表中必须包含“id”字段且作为数字主键。 

语句如下:

UPDATE 
    user_debug INNER JOIN 
    (SELECT n1.id, n1.用户名, count(n2.id)+1 cnt 
    FROM  user_debug n1 INNER JOIN user_debug n2 
      ON n1.用户名=n2.用户名 AND n1.id>n2.id 
    GROUP BY n1.id, n1.用户名) s 
    ON user_debug.id = s.id 
SET 
    user_debug.用户名 = CONCAT(user_debug.用户名,s.cnt)