MySQL:讨人喜欢的 MySQL replace into 用法(insert into 的增强版)
讨人喜欢的 MySQL replace into 用法(insert into 的增强版)
在向表中插入数据的时候,经常遇到这样的情况:1. 首先判断数据是否存在; 2. 如果不存在,则插入;3.如果存在,则更新。
在 SQL Server 中可以这样处理:
if not exists (select 1 from t where id = 1)insert into t(id, update_time) values(1, getdate())elseupdate 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 将自动为这些列赋上默认值。
转载于:https://www.cnblogs.com/liuzhuqing/p/7373249.html
MySQL:讨人喜欢的 MySQL replace into 用法(insert into 的增强版)相关推荐
- MySQL replace into (insert into 的增强版)
在使用SQL语句进行数据表插入insert操作时,如果表中定义了主键,插入具有相同主键的记录会报错: Error Code: 1062. Duplicate entry 'XXXXX' for ke ...
- oracle insert replace into,讨人喜欢的 MySQL replace into 用法(insert into 的增强版)
讨人喜欢的 MySQL replace into 用法(insert into 的增强版) 在向表中插入数据的时候,经常遇到这样的情况:1. 首先判断数据是否存在: 2. 如果不存在,则插入:3.如果 ...
- mysql数据库replace写入_MySQL数据库replace into 用法(insert into 的增强版)
MySQL数据库replace into 用法我以前介绍过相关的教程,但有加强版各位朋友可能不知道吧,今天我们来看一篇关于MySQL数据库replace into增强版的介绍与用法例子. Error ...
- mysql的replace_mySQL中replace的用法
mysql replace实例说明: UPDATE tb1 SET f1=REPLACE(f1, 'abc', 'def'); REPLACE(str,from_str,to_str) 在字符串 st ...
- MySQL replace into 用法
MySQL replace into 用法(insert into 的增强版) 在向表中插入数据的时候,经常遇到这样的情况:1. 首先判断数据是否存在: 2. 如果不存在,则插入:3.如果存在,则更新 ...
- 详解MySQL字符串函数CONCAT()、CONCAT_WS()、INSERT()、REPLACE()、LOWER()、UPPER()用法(二)
文章目录 一.合并字符串函数CONCAT()和CONCAT_WS() 1.CONCAT() 2.CONCAT_WS() 二.替换字符串INSERT()和REPLACE 1.INSERT() 2.REP ...
- mysql replace into 语法_mysql Replace into与Insert update
Replace into replace into 跟 insert 功能类似, 不同点在于:replace into 首先尝试插入数据到表中, 1. 如果发现表中已经有此行数据(根据主键或者唯一索引 ...
- mysql中 REPLACE INTO 和 INSERT INTO 的区别
mysql中 REPLACE INTO 和 INSERT INTO 的区别 REPLACE INTO 和 INSERT INTO 功能类似,都是像表中插入数据,不同点在于:REPLACE INTO 首 ...
- mysql 中 replace into 与 insert into on duplicate key update 的使用和不同点
replace into和insert into on duplicate key update都是为了解决我们平时的一个问题 就是如果数据库中存在了该条记录,就更新记录中的数据,没有,则添加记录. ...
最新文章
- [引]ASP.NET 中 事务处理(SqlTransaction)示例
- C#中使用委托、接口、匿名方法、泛型委托实现加减乘除算法
- 《研磨设计模式》chap22 装饰模式Decorator(3)I/O流
- 【java】简述CGLIB常用API
- 如何保证mq的有序性_消息队列如何保证顺序性?
- PHP统计链接跳转的次数,如何在PHP页面统计某链接的点击数
- 【报告分享】2021最具价值中国品牌100强报告.pdf(附下载链接)
- ORA-12638处理
- 中国第一朵云,花了足足9年
- matlab与焓湿图,excel与焓湿图的完美结合
- Java 坐标系相互转换
- SPSS实现单样本t检验
- 有关AntDesign的简单学习
- 中小企业网站优化推广思路方法技巧
- 还在为关闭不了win10杀毒软件windows defender而崩溃吗?小编三招教你如何彻底关闭
- EXCEL数据计算结果不对
- javascript弹出一个弹窗
- [DX10游戏教程(C++)]教程1:在Visual Studio 2012中配置DirectX 10
- Java数组之一维数值数组之成绩统计
- Median Pyramid Hard题解