新建一个test表,三个字段,id,title,uid, id是自增的主键,uid是唯一索引;
插入两条数据:
1 insert into test(title,uid) VALUES (‘123465‘,‘1001‘);
2 insert into test(title,uid) VALUES (‘123465‘,‘1002‘);
3
4 执行单条插入数据可以看到,执行结果如下:
5 [SQL]insert into test(title,uid) VALUES (‘123465‘,‘1001‘);
6 受影响的行: 1
7 时间: 0.175s
使用 replace into插入数据时:
1 REPLACE INTO test(title,uid) VALUES (‘1234657‘,‘1003‘);
2
3 执行结果:
4 [SQL]REPLACE INTO test(title,uid) VALUES (‘1234657‘,‘1003‘);
5 受影响的行: 1
6 时间: 0.035s
当前数据库test表所有数据如下:
当uid存在时,使用replace into 语句:
1 REPLACE INTO test(title,uid) VALUES (‘1234657‘,‘1001‘);
2
3 [SQL]REPLACE INTO test(title,uid) VALUES (‘1234657‘,‘1001‘);
4 受影响的行: 2
5 时间: 0.140s
mysql 中的replace into的用法和laravel框架封装mysql的 updateOrCreate() 方法类似,存在数据则更新,不存在该数据则创建。
MYSQL中Replace Into的用法
原文地址:https://www.cnblogs.com/zgxblog/p/13328984.html