mysql replace
2013-10-17 11:28
204 查看
在向表中插入数据的时候,经常遇到这样的情况:1. 首先判断数据是否存在; 2. 如果不存在,则插入;3.如果存在,则更新。
在 SQL Server 中可以这样处理:
那么 MySQL 中如何实现这样的逻辑呢?别着急!MySQL 中有更简单的方法: replace into
或
replace into 跟 insert 功能类似,不同点在于:replace into 首先尝试插入数据到表中, 1. 如果发现表中已经有此行数据(根据主键或者唯一索引判断)则先删除此行数据,然后插入新的数据。 2. 否则,直接插入新数据。
要注意的是:插入数据的表必须有主键或者是唯一索引!否则的话,replace into 会直接插入数据,这将导致表中出现重复的数据
转自:/article/1643748.html
在 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 会直接插入数据,这将导致表中出现重复的数据
转自:/article/1643748.html
相关文章推荐
- mysql中的replace into和 on duplicate key update
- Mysql进阶:方便的replace into语法
- 用update和replace在mysql中替换某一个字段的部分内容
- MYSQL开发性能研究——INSERT,REPLACE,INSERT-UPDATE性能比较
- MySql避免重复插入记录方法(ignore,Replace,ON DUPLICATE KEY UPDATE)
- 【mysql】如何做到表内存在同名字段就更改记录,不存在就新增记录(replace的详细使用)
- MySql避免重复插入记录方法(ignore,Replace,ON DUPLICATE KEY UPDATE)
- MYSQL 批量替换之replace语法的使用详解
- MySQL:讨人喜欢的 MySQL replace into 用法(insert into 的增强版)
- mySQL中replace的用法总结
- mysql 替换函数replace()实现mysql 替换字符串
- mysql replace替换某字段的值
- MySQL "replace into" 的坑
- MySQL的replace()函数的使用
- mysql select UPPER(REPLACE(uuid(),'-','')) from xxxtable 得到相同的uuid的问题
- MySQL Replace INTO的使用
- mysql 数据库插入语句之insert into,replace into ,insert ignore
- MYSQL 批量替换之replace语法的使用
- Mysql中Insert into xxx on duplicate key update和REPLACE INTO使用
- mysql 插入replace改变原有数据某些字段