SQL示例

基本功能示例

首先来看一个例子,创建一个表t1,包含4列,其中第1列(a)是它的主键(primary key):

create table t1 (a int primary key, b int, c int, d int default 0);

对该表t1插入一行数据,主键列a的值为0:

insert into t1 values (0,0,0,0);

select * from t1;

a | b | c | d

---+---+---+---

0 | 0 | 0 | 0

(1 row)

如果再对该表t1插入一行数据,主键列a的值还是0,会得到一个报错:

insert into t1 values (0,1,1,1);

ERROR: duplicate key value violates unique constraint "t1_pkey"

DETAIL: Key (a)=(0) already exists.

但是,在很多场景中,不希望这个插入报错。有些场景希望主键冲突后什么都不做,有些场景希望主键冲突后更新非主键列的数据。那么在这些场景中就需要用到本文重点介绍的覆盖写入特性了。

主键冲突后,希望什么都不做(适用于有冲突丢弃冲突数据的场景):

-- 使用on conflict do nothing子句

insert into t1 values (0,1,1,1) on conflict do nothing;

select * from t1;

a | b | c | d

---+---+

mysql 覆盖写入_INSERT ON CONFLICT覆盖写入相关推荐

  1. shell脚本:实现文件覆盖写入、文件内容追加写入

    文章目录 shell脚本:实现文件覆盖写入.文件内容追加写入 实现说明: 重要代码: 1. 覆盖写文件 ">" 2. 追加写文件">>" sh ...

  2. 运维企业专题(11)RHCS高可用集群下MySql数据库与共享磁盘(单点写入、多点写入)的设置

    实验环境 主机名 IP 服务 server1 172.25.6.1 ricci,luci, iscsi,mysql-server server2 172.25.6.2 ricci,iscsi,mysq ...

  3. MySQL 使用SELECT ... FOR UPDATE 做事务写入前的确认(转)

    Select-For Update语句的语法与select语句相同,只是在select语句的后面加FOR UPDATE [NOWAIT]子句. 该语句用来锁定特定的行(如果有where子句,就是满足w ...

  4. mysql innodb 索引 延迟更新_Mysql覆盖索引与延迟关联

    延迟关联:通过使用覆盖索引查询返回需要的主键,再根据主键关联原表获得需要的数据. 为什innodb的索引叶子节点存的是主键,而不是像myisam一样存数据的物理地址指针? 如果存的是物理地址指针不就不 ...

  5. mysql 覆盖索引 简书_mysql覆盖索引与回表

    select id,name where name='shenjian' select id,name,sex* where name='shenjian'* 多查询了一个属性,为何检索过程完全不同? ...

  6. MySQL学习(14)︱复合索引与覆盖索引

    复合索引前导列特性 在MySQL中,如果创建了复合索引(name, salary, dept),就相当于创建了(name, salary, dept).(name, salary).(name)三个索 ...

  7. 将android程序写入内存,android中将数据写入手机内存和sdcard中的文件

    在android中一般有两种方式: 第一种是写入手机内存的文件,这种方式,文件的存取路径都是在应用包下的 files 文件夹下,其路径是固定的,并不受程序员控制的, FileOutputStream ...

  8. python如何将整数写入txt_python如何将数据写入txt

    python将数据写入txt文本文件:首先打开txt文件:然后向文件写入数据,代码为[file_handle.write('hello word 你好 \n'):file_handle.writeli ...

  9. sql 动态写入数据库字段_批处理写入,动态SQL和参数化SQL,数据库的性能如何?...

    sql 动态写入数据库字段 最有效的数据库优化之一是批处理写入. 批处理写入受大多数现代数据库和JDBC标准的一部分支持,并且受大多数JPA提供程序支持. 普通数据库访问包括在单独的数据库/网络访问中 ...

最新文章

  1. linux本地监听创建,linux 创建监听服务器
  2. ca 自建 颁发证书_openssl自建CA后颁发证书
  3. Centos设置静态IP及修改Centos配置文件
  4. 蓝桥杯练习系统习题-算法训练6
  5. 深蓝学院《从零开始手写VIO》作业六
  6. zigbee 协议栈数据类型及转换
  7. python3库黑客_想知道黑客为什么首先Python吗?看看这些渗透测试工具和库
  8. 计算相同维度向量之间的欧氏距离
  9. SQL server int 转char类型
  10. GPU数据库PG-strom安装及使用
  11. MATLAB规划和LINGO规划,[数学建模]线性规划与matlab,lingo解法
  12. 冰汽朋克侦查机器人_冰汽时代机器人与人力效率对比分析 寒霜朋克机器人与人力哪个效率高...
  13. 计算机无法显示输入字体,电脑中ps输入字体不显示是怎么回事
  14. linux编辑框软键盘自动弹出,带输入框的Dialog自动弹出软键盘
  15. python判断手机号运营商_js判断手机号运营商的方法
  16. 怎么搭建自己的网站赚钱,个人网站怎么操作
  17. Number isFinite()方法
  18. Android动态listview,Android列表组件ListView使用详解之动态加载或修改列表数据
  19. uva live 4043 km
  20. js实现圆柱形轮播图

热门文章

  1. 购买阿里云服务器后怎么用?针对新手的阿里云服务器教程
  2. Qt quick性能提升[通俗易懂]
  3. 康德、孔子和休谟的对话
  4. 点云平滑之双边滤波适用性分析
  5. 使用C语言编写测速程序
  6. 函数的参数作为引用时的一些问题
  7. 地图分幅编号C 语言编程,地图分幅编号实验报告讲解
  8. 泛娱乐 | 2020人才市场洞察及薪酬指南
  9. 11. python入门复习教程之命名空间与作用域,再谈异常,标准库,持久化与序列化
  10. python 数据拟合 预测_GitHub - wanng-ide/Python-WeChat-Predict: 用现有的数据对微信公众号的一些数据做一个预测,主要采用多项式拟合来构建模型。...