MYSQL中Replace Into的用法

新建一个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() 方法类似,存在数据则更新,不存在该数据则创建。

原文地址:https://www.cnblogs.com/zgxblog/p/13328984.html