测试用数据库
CREATE TABLE `test_replace_into` (
`id` int(10) unsigned NOT NULL AUTO_INCREMENT,
`col_1` varchar(100) DEFAULT NULL,
`col_2` varchar(100) DEFAULT NULL,
`col_3` varchar(100) DEFAULT NULL,
PRIMARY KEY (`id`),
UNIQUE KEY `col_1` (`col_1`)
) ENGINE=InnoDB AUTO_INCREMENT=11 DEFAULT CHARSET=utf8;
- 使用
replace into
会删除然后插入新数据,主键会增加,可能会有数据丢失
REPLACE INTO test_replace_into (col_1,col_2,col_3) VALUES('a','a','b');
INSERT INTO test_replace_into (col_1,col_2,col_3) VALUES('a','a','c') ON DUPLICATE KEY UPDATE col_1=VALUES(col_1),col_2=VALUES(col_2),col_3=VALUES(col_3)
网友评论