mysql replace into 实现存在则更新,不存在则插入
Posted chenmz1995
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了mysql replace into 实现存在则更新,不存在则插入相关的知识,希望对你有一定的参考价值。
测试用的mysql数据库:
新建测试表:
CREATE TABLE `test` ( `id` bigint(20) NOT NULL AUTO_INCREMENT, `text` varchar(255) DEFAULT NULL, `uid` varchar(11) DEFAULT NULL, PRIMARY KEY (`id`), UNIQUE KEY `uid_unique` (`uid`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
以上建表三个字段,id是主键自增,bigint类型。uid是字符串,但是加上了唯一约束’uid_unique‘。
(1) 添加新的数据
因为库里面没有新的数据,所以肯定是产生一条数据。
(2) 产生一条新的数据,和 id 以及 uid都不冲突的
这个时候,因为 id是 主键自增的,所以这个时候,会产生一个次于最大值的值,就是1002
以上是关于mysql replace into 实现存在则更新,不存在则插入的主要内容,如果未能解决你的问题,请参考以下文章
mysql 使用 replace into 或者 ON DUPLICATE KEY 实现插入数据或者更新已存在数据(insertOrUpdate)