insert ignore
相比 INSERT …. SELECT
更加节省性能
当插入数据时,如出现错误时,如重复数据,将不返回错误,只以警告形式返回。所以使用ignore请确保语句本身没有问题,否则也会被忽略掉。例如:
INSERT IGNORE INTO books (name) VALUES ('MySQL Manual')
使用 IGNORE 必须有 主键 或者 唯一索引
如果是用主键primary或者唯一索引unique区分了记录的唯一性,避免重复插入记录可以使用:
UNIQUE(唯一索引)
ALTER TABLE table_name
ADD UNIQUE (column
)
# 使用例子
CREATE TABLE orderID (
id INT(13) AUTO_INCREMENT PRIMARY KEY,
orderID VARCHAR(255) UNIQUE,
email VARCHAR(255),
phone VARCHAR(255)
)
INSERT IGNORE INTO `table_name` (`email`, `phone`, `orderID`) VALUES ('test9@163.com', '99999', '11-22-3333');