不希望數據表中有重復記錄的時候我們可以給表添加一個聯合唯一索引
例如,user表中有user_id,user_name兩個字段,如果不希望有兩條一摸一樣的的user_id和user_name,我們可以給user表添加兩個字段的聯合唯一索引:
alter table user add unique index(user_id,user_name);
這樣當向表中添加相同記錄的時候,會返回1062的添加失敗信息。
但是有一種情況是表中已經有n個重復的記錄,這時候我們才想起來要添加唯一索引,再執行上面的操作時,數據庫會告訴你已經有重復的記錄了,建立索引失敗,這時候,我們可以用下面的操作:
alter ignore table user add unique index(user_id,user_name);
它會刪除重復的記錄(別怕,會保留一條),然後建立唯一索引,高效而且人性化。尤其是綠色的那條sql,在建立索引的同時刪除了重復數據,相當有用。
2.給表中 你不想重復出現的字段,如:userid, 則給userid加上 唯一索引(unique)
再執行 replace into table (***) values (***),即OK