ON DUPLICATE KEY UPDATE 可以达到以下目的:
向数据库中插入一条记录:
若该数据的主键值/ UNIQUE KEY 已经在表中存在,则执行更新操作, 即UPDATE 后面的操作。
否则插入一条新的记录。
示例:
Step1 . 创建表,插入测试数据
SET FOREIGN_KEY_CHECKS=0;
– Table structure for mRowUpdate
DROP TABLE IF EXISTS mRowUpdate;
CREATE TABLE mRowUpdate (
id int(11) NOT NULL,
value varchar(255) DEFAULT NULL,
PRIMARY KEY (id)
) ENGINE=InnoDB;
– Records of mRowUpdate
INSERT INTO mRowUpdate VALUES (‘1’, ‘sss’);
INSERT INTO mRowUpdate VALUES (‘2’, ‘szh’);
INSERT INTO mRowUpdate VALUES (‘3’, ‘9999’);
SET FOREIGN_KEY_CHECKS=1;
Step2 .测试 ON DUPLICATE KEY UPDATE 的使用方法:
INSERT INTO mRowUpdate(id,value) VALUES(3, ‘SuperMan’) ON DUPLICATE KEY UPDATE value=‘SuperMan’;