当前位置: 首页 > 编程笔记 >

浅析MySQL replace into 的用法

农弘毅
2023-03-14
本文向大家介绍浅析MySQL replace into 的用法,包括了浅析MySQL replace into 的用法的使用技巧和注意事项,需要的朋友参考一下

在 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 有三种形式:

 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 将自动为这些列赋上默认值。

 类似资料:
  • 本文向大家介绍Python类的用法实例浅析,包括了Python类的用法实例浅析的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了Python类的用法。分享给大家供大家参考。具体如下: 先看一段代码: 上面的代码演示了: 1、构造函数以及带参数(参数有默认值)构造函数 2、构造类实例 3、使用类实例调用类方法 希望本文所述对大家的Python程序设计有所帮助。

  • 本文向大家介绍JavaScript事件用法浅析,包括了JavaScript事件用法浅析的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了JavaScript事件用法。分享给大家供大家参考,具体如下: JavaScript通过事件与HTML交互。 事件流 事件流规定了事件的触发规则和顺序。DOM2规定了事件流包括三个阶段:事件捕获 -> 目标触发除 -> 事件冒泡。DOM2规定在事件捕获阶段不

  • 本文向大家介绍浅析PyTorch中nn.Linear的使用,包括了浅析PyTorch中nn.Linear的使用的使用技巧和注意事项,需要的朋友参考一下 查看源码 Linear 的初始化部分: 需要实现的内容: 计算步骤: 返回的是:input * weight + bias 对于 weight 对于 bias 实例展示 举个例子: 张量的大小由 140 x 100 变成了 140 x 50 执行的

  • 本文向大家介绍nodejs的HTML分析利器node-jquery用法浅析,包括了nodejs的HTML分析利器node-jquery用法浅析的使用技巧和注意事项,需要的朋友参考一下 本文实例分析了nodejs的HTML分析利器node-jquery用法。分享给大家供大家参考,具体如下: 首先描述产生这篇随笔的场景:我需要获取项目在jenkins构建的最新Javascript Coverage显示

  • 本文向大家介绍Python yield 使用浅析,包括了Python yield 使用浅析的使用技巧和注意事项,需要的朋友参考一下 初学 Python 的开发者经常会发现很多 Python 函数中用到了 yield 关键字,然而,带有 yield 的函数执行流程却和普通函数不一样,yield 到底用来做什么,为什么要设计 yield ?本文将由浅入深地讲解 yield 的概念和用法,帮助读者体会

  • 本文向大家介绍浅析java 的 static 关键字用法,包括了浅析java 的 static 关键字用法的使用技巧和注意事项,需要的朋友参考一下 本篇浅析java中static的用法,主要五个方面:静态成员变量,静态方法,静态块,静态内部类,静态导包。 首先还是一张表格说一下静态对象和非静态对象的区别: 静态对象 非静态对象 归属 类共同具有 类的各个实例独立拥有 内存分配 内存空间上固定的 附