Mysql避免重復插入記錄

Mysql避免重復插入記錄,可使用ignore關鍵字:

如果有用主鍵primary key或者唯一索引unique區分瞭記錄的唯一性,當我們無意插入相同數據的時候(主鍵值或是唯一索引值重復),

insert into table_name(email,phone,user_id) values('test@163.com','99999','9999');
ERROR 1062 (23000): Duplicate entry 'test@163.com' for key 'email'

這表明表中已經存在有email為'test@163.com'的記錄(email為唯一索引),此時可以這樣插入

insert ignore into table_name(email,phone,user_id) values('test@163.com','99999','9999'),

這樣當有重復記錄就會忽略,執行後返回Query OK, 0 rows affected,還有個應用就是復制表,避免重復記錄:

insert ignore into table_name1 select name from table_name2;

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *