美文网首页
MySQL存在则更新不存在则插入

MySQL存在则更新不存在则插入

作者: 陈追风 | 来源:发表于2019-04-23 11:31 被阅读0次

测试用数据库

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');
  • 使用duplicate key
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)

相关文章

网友评论

      本文标题:MySQL存在则更新不存在则插入

      本文链接:https://www.haomeiwen.com/subject/nctvgqtx.html