首页 > 数据库技术 > 详细

mysql replace into使用

时间:2019-09-25 17:48:23      阅读:93      评论:0      收藏:0      [点我收藏+]

使用mysql插入数据时,我们通常使用的是insert into来处理,replace into有时可以替代insert into功能,但replace into也有自己的用法

准备一张测试表:

CREATE TABLE `stu` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `cid` int(11) NOT NULL,
  `name` varchar(32) DEFAULT NULL,
  PRIMARY KEY (`id`),
  UNIQUE KEY `cid` (`cid`)
) ENGINE=InnoDB AUTO_INCREMENT=6 DEFAULT CHARSET=utf8;

其中id为自增主键,cid为唯一索引

1、插入两条数据

INSERT INTO stu(cid, name) VALUES(1, 1111);
INSERT INTO stu(cid, name) VALUES(2, 2222);

查看表数据

技术分享图片

2、使用REPLACE INTO插入

REPLACE INTO stu(cid, name) VALUES(3,3333);

查看表数据

技术分享图片

可以看到有插入数据

3、REPLACE INTO用法:使用REPLACE INTO时,首先会根据主键或者唯一索引查看表中是否有该条记录,有的话则先删除,然后插入数据;没有该记录则直接插入。示例

REPLACE INTO stu(cid, name) VALUES(3,33331);

查看表数据

技术分享图片

原先id为3的记录变成了id为4了,说明原先id为3的记录先删除了,然后新插入了id为4)(id自增)的新记录

如果针对id和cid都有一条记录进行操作,如下id为4和cid为2的记录都存在,执行以下语句

REPLACE INTO stu(id, cid, name) VALUES(4, 2,42);

查看表数据

技术分享图片

 可以看到原先的两条记录都给删除了,然后插入新记录

4、REPLACE INTO 使用形式

1. replace into tbl(col_name, ...) values(...)

2. replace into tbl(col_name, ...) select ...

3. replace into tbl set col_name=value, ...

 

mysql replace into使用

原文:https://www.cnblogs.com/kingsonfu/p/11585548.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!