Cette requête renverra tous les identifiants en double avec une liste d'identifiants séparés par des virgules qui partagent le même nom :
select
t1.id,
group_concat(t2.id)
from
tablename t1 inner join tablename t2
on t1.id<>t2.id and t1.name=t2.name
group by
t1.id
et cette requête mettra à jour la description :
update tablename inner join (
select
t1.id,
group_concat(t2.id) dup
from
tablename t1 inner join tablename t2
on t1.id<>t2.id and t1.name=t2.name
group by
t1.id
) s on tablename.id = s.id
set
description = concat('duplicate id in (', s.dup, ')')
veuillez consulter un violon de travail ici .