日期:2010-11-30 10:58:00 来源:本站整理
<b>MySQL replace into 用法(insert into 的加强版)</b>[网站编程]
本文“<b>MySQL replace into 用法(insert into 的加强版)</b>[网站编程]”是由七道奇为您精心收集,来源于网络转载,文章版权归文章作者所有,本站不对其观点以及内容做任何评价,请读者自行判断,以下是其具体内容:
在向表中插入数据的时刻,常常碰到这样的情形:1. 首先判断数据能否存在; 2. 假如不存在,则插入;3.假如存在,则更新.
在 SQL Server 中可以这样处理:
- 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 into
- replace into t(id, update_time) values(1, now());
或
- replace into t(id, update_time) select 1, now();
replace into 跟 insert 功效近似,差别点在于:replace into 首先尝试插入数据到表中, 1. 假如发现表中已经有此行数据(按照主键大概唯一索引判断)则先删除此行数据,然后插入新的数据.
2. 不然,直接插入新数据.
要注意的是:插入数据的表必须有主键大概是唯一索引!不然的话,replace into 会直接插入数据,这将招致表中呈现反复的数据.
MySQL replace into 有三种情势:
1. replace into tbl_name(col_name, ...) values(...)
2. replace into tbl_name(col_name, ...) select ...
3. replace into tbl_name set col_name=value, ...
前两种情势用的多些.此中 “into” 关键字可以省略,不过最好加上 “into”,这样意思越发直观.别的,关于那些没有赐与值的列,MySQL 将自动为这些列赋上默许值.
以上是“<b>MySQL replace into 用法(insert into 的加强版)</b>[网站编程]”的内容,如果你对以上该文章内容感兴趣,你可以看看七道奇为您推荐以下文章:
本文地址: | 与您的QQ/BBS好友分享! |
评论内容只代表网友观点,与本站立场无关!
评论摘要(共 0 条,得分 0 分,平均 0 分)
查看完整评论