Mysql必读浅析MySQL replace into 的用法

MysqL必读浅析MysqL replace into 的用法》要点:
本文介绍了MysqL必读浅析MysqL replace into 的用法,希望对您有用。如果有疑问,可以联系我们。

sql Server 中可以这样处理:MysqL入门

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

那么 MysqL 中如何实现这样的逻辑呢?别着急!MysqL 中有更简单的方法: replace intoMysqL入门

代码如下:
 
replace into t(id,Now());
或 
replace into t(id,update_time) select 1,Now();

replace into 跟 insert 功能类似,不同点在于:replace into 首先尝试插入数据到表中,1. 如果发现表中已经有此行数据(根据主键或者唯一索引判断)则先删除此行数据,然后插入新的数据. 2. 否则,直接插入新数据. 要注意的是:插入数据的表必须有主键或者是唯一索引!否则的话,replace into 会直接插入数据,这将导致表中出现重复的数据.MysqL入门

MysqL replace into 有三种形式:MysqL入门

代码如下:

 replace into tbl_name(col_name,...) values(...)
 replace into tbl_name(col_name,...) select ...
 replace into tbl_name set col_name=value,...

前两种形式用的多些.其中 “into” 关键字可以省略,不过最好加上 “into”,这样意思更加直观.另外,对于那些没有给予值的列,MysqL自动为这些列赋上认值.MysqL入门

相关文章

MySQL 死锁 是指两个或多个事务互相等待对方持有的锁,从而导...
在MySQL中,InnoDB引擎通过Next-Key Locking技术来解决幻读问...
在数据库事务管理中,Undo Log 和 Redo Log 是两种关键日志,...
case when概述 sql语句中的case语句与高级语言中的switch语句...
其实很简单,只是为了忘记,做个记录,用的时候方便。 不管是...
1.进入服务,找到mysql服务,在属性里找到mysql的安装路径 2...