mysql使用replace into 实现数据的修改和插入操作

实现当数据存在时根据唯一的索引去修改该值,当数据不存在时,插入该条数据。

在这里插入图片描述
如上图所示:如果eid已经存在则修改eid对应的该条数据,如果eid不存在则插入该条数据。


执行repalce into操作

replace into empsalary (eid,sid) VALUES (9,13)

执行结果
在这里插入图片描述查看结果
在这里插入图片描述
可以看到最终的结果并不是我们想要的,没有修改掉eid为9的数据而是在最后另追加了一条数据。

想要根据eid去判断是增加还是去修改数据,eid索引必须为Unique。

修改eid的索引
在这里插入图片描述

在这里插入图片描述
重新执行replace操作
在这里插入图片描述
可以看到受影响的行数为2,是因为replace会根据eid先删除掉该条数据,然后执行插入操作。

PS: navicat for mysql查询中不仅可以执行select查询语句, 还可以执行update,insert,alter,replace等语句。

查看执行结果
在这里插入图片描述

Guess you like

Origin blog.csdn.net/weixin_43398820/article/details/110306249