我有一张叫做颜色的桌子。在此表中有两个字段:color和is_duplicate。如果在颜色列中找到多个相同的值,我想在is_duplicate字段中放置1。
这是我到目前为止所尝试的内容,但由于我是mysql语法的新手,因此会出现错误。
update colors
set is_duplicate = 1
where color
HAVING COUNT(*) > 1
我正在这样做,所以我可以删除重复的所有副本,稍后再返回查看哪些记录一次重复。
有什么建议吗?谢谢。
答案 0 :(得分:0)
试试这个:
update colors tab1 join (select color, count(*) as num_color
from colors group by color
having count(*) > 1
) tab2 on tab1.color = tab2.color
set is_duplicate = 1