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;