MYSQL教程MySQL中replace into语句的用法详解

MYSQL教程MySQL中replace into语句的用法详解,第1张

概述介绍《MYSQL教程MySQL中replace into语句用法详解》开发教程,希望对您有用。

《MysqL教程MysqL中replace into语句的用法详解》要点:
本文介绍了MysqL教程MysqL中replace into语句的用法详解,希望对您有用。如果有疑问,可以联系我们。

MysqL数据库在向表中插入数据的时候,经常遇到这样的情况:

MysqL数据库1、首先判断数据是否存在;
2、如果不存在,则插入;
3、如果存在,则更新.
 
在 sql Server 中可以这样写:

代码如下:
if not exists (select 1 from table where ID = 1) insert into table(ID,update_time) values(1,getdate()) else update table set update_time = getdate() where ID = 1

在MysqL 中也可以先select,判断是否存在,存在则 update 否则 insert
但在MysqL 中有更简单的方法,使用 replace into关键字
代码如下:replace into table(ID,Now());

代码如下:
replace into table(ID,update_time) select 1,Now();

replace into 跟 insert 功能类似,不同点在于:replace into 首先尝试插入数据到表中.

MysqL数据库1、如果发现表中已经有此行数据(根据主键或者唯一索引判断)则先删除此行数据,然后插入新的数据.
2、 否则,直接插入新数据.

MysqL数据库要注意的是:插入数据的表必须有主键或者是唯一索引!否则的话,replace into 会直接插入数据,这将导致表中出现重复的数据.
 
MysqL中replace into有三种写法:

代码如下:
1. replace into table(col,...) values(...)
2. replace into table(col,...) select ...
3. replace into table set col=value,...

前两种形式用的多些.其中 “into” 关键字可以省略,不过最好加上 “into”,这样意思更加直观.
另外,对于那些没有给予值的列,MysqL 将自动为这些列赋上默认值.
 
可惜的是replace不支持update某些特性,也就不能直接当作update使用:

MysqL数据库常见update写法:update table set col=col+1 where ID=1;
使用replace into不支持这样的写法:replace into table set col=col+1,ID=1;

MysqL数据库1、首先判断数据是否存在;(没问题)
2、如果不存在,则插入;(没问题)
3、如果存在,某字段值在原来的基础上加上或减去某个数,如加一 *** 作.(不支持)

总结

以上是内存溢出为你收集整理的MYSQL教程MySQL中replace into语句的用法详解全部内容,希望文章能够帮你解决MYSQL教程MySQL中replace into语句的用法详解所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/1162399.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-01
下一篇 2022-06-01

发表评论

登录后才能评论

评论列表(0条)

保存