-- replace当插入的记录遇到主键或者唯一键重复时先删除表中重复的记录行再插入。
INSERT IGNORE INTO aaa(id,`date`,`name`)VALUES(6,'2010-01-01 00:00:00','hello')
-- ON DUPLICATE KEY UPDATE
DROP TABLE IF EXISTS Tupdate;
CREATE TABLE Tupdate
(ID INT NOT NULL PRIMARY KEY ,
text INT UNIQUE KEY
)DEFAULT CHARSET=utf8;
INSERT INTO Tupdate() VALUES(6,6),(4,10) ON DUPLICATE KEY UPDATE text=text+1;
INSERT INTO Tupdate() VALUES(1,5),(2,4) ON DUPLICATE KEY UPDATE text=VALUES(text)+1;
INSERT INTO Tupdate() VALUES(1,1)
UPDATE Tupdate
SET text=test+1
WHERE ID=1;
INSERT INTO Tupdate() VALUES(1,1)
UPDATE Tupdate
SET text=2+1
WHERE ID=1;
REPLACE INTO aaa(id,`date`,`name`)VALUES(1,'2010-01-01 00:00:00','ffg');
INSERT IGNORE INTO aaa(id,`date`,`name`)VALUES(6,'2010-01-01 00:00:00','hello')
-- 正常一般的插入
INSERT INTO aaa(id,`date`,`name`)VALUES(6,'2010-01-01 00:00:00','hello')-- ON DUPLICATE KEY UPDATE
DROP TABLE IF EXISTS Tupdate;
CREATE TABLE Tupdate
(ID INT NOT NULL PRIMARY KEY ,
text INT UNIQUE KEY
)DEFAULT CHARSET=utf8;
INSERT INTO Tupdate() VALUES(6,6),(4,10) ON DUPLICATE KEY UPDATE text=text+1;
INSERT INTO Tupdate() VALUES(1,5),(2,4) ON DUPLICATE KEY UPDATE text=VALUES(text)+1;
INSERT INTO Tupdate() VALUES(1,1)
UPDATE Tupdate
SET text=test+1
WHERE ID=1;
INSERT INTO Tupdate() VALUES(1,1)
UPDATE Tupdate
SET text=2+1
WHERE ID=1;