鑒于2條完全一樣的資料,無法差別,隻好讓他們不一樣,于是插入一列自增長的列,需注意的是 自增長列必須是主鍵
alter table table_name add column id int(11) PRIMARY KEY AUTO_INCREMENT;
delete from bill_order_handle
where draft_id in
(select draft_id
from (
select max(draft_id) as draft_id,count(id) as ucount
from bill_order_handle
group by id
having ucount >1
order by ucount desc
) as tab );
ALTER table table_name DROP column id;
ALTER table table_name add PRIMARY KEY (user_role_id)
解釋一下過程
由于種種原因沒有給表做主鍵,導緻有了完全一樣的資料
1、給表增加一個自增長的列作為主鍵,這樣的話,完全重複的資料就有了不一樣的地方
2、删除重複的列中ID較大的那一個
3、删除掉新增的主鍵ID
4、把原來表中的一列設定為主鍵