美文网首页
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