在维护公司的数据库时,在操作使用中发现某表没有设置“主键”,可能是当时设计数据库时没有规范。而且里面出现的重复记录。
那么首先找出重复记录(先在这个表增加一个新的递增列):
select min(id) as id from Tuserandreport
group by usercode,reportname
having count(*) > 1
然后就可以删除它了
delete Tuserandreport where id in
(select min(id) as id from Tuserandreport
group by usercode,reportname
having count(*) > 1
)
最后可以删除这个递增列,设置实际需要的列为主键。留此备注。