MySQL新增数据,存在就更新,不存在就添加 ignore

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 ('[email protected]', '99999', '11-22-3333');

你可能感兴趣的:(SQL)