新建表格

CREATE TABLE `person`  (`id` int NOT NULL COMMENT '主键',`name` varchar(64) CHARACTER SET utf8 COLLATE utf8_bin NULL DEFAULT NULL COMMENT '姓名',`age` int NULL DEFAULT NULL COMMENT '年龄',`address` varchar(512) CHARACTER SET utf8 COLLATE utf8_bin NULL DEFAULT NULL COMMENT '地址',PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_bin ROW_FORMAT = Dynamic;

添加三条数据如下:

我们这边可以根据插入方式进行规避:

1. insert ignore

insert ignore 会自动忽略数据库已经存在的数据(根据主键或者唯一索引判断),如果没有数据就插入数据,如果有数据就跳过插入这条数据。

插入SQL如下:
insert ignore into person (id,name,age,address) values(3,'那谁',23,'甘肃省'),(4,'我的天',25,'浙江省');

再次查看数据库就会发现仅插入id为4的数据,由于数据库中存在id为3的数据所以被忽略。

2. replace into

replace into 首先尝试插入数据到表中, 1. 如果发现表中已经有此行数据(根据主键或者唯一索引判断)则先删除此行数据,然后插入新的数据。 2. 否则,直接插入新数据。

插入SQL如下:
replace into person (id,name,age,address) values(3,'那谁',23,'甘肃省'),(4,'我的天',25,'浙江省');

首先我们将表中数据恢复,然后进行插入操作后发现id为3的数据发生了改变同时新增了id为4的数据。

3. insert on duplicate key update

insert on duplicate key update 如果在insert into语句的末尾指定了on duplicate key update + 字段更新,则会在出现重复数据(根据主键或者唯一索引判断)的时候按照后面字段更新的描述对该信息进行更新操作。

插入SQL如下:
insert into person (id,name,age,address) values(3,'那谁',23,'甘肃省') on duplicate key update name='那谁', age=23, address='甘肃省';

首先我们将表中数据恢复,然后在进行插入操作时,发现id为3的数据发生了改变,进行了更新操作。

我们可以根据自己的业务需求进行方法的选择。

SQLite在指定列后面插入字段_个人学习系列 - 防止MySQL重复插入数据相关推荐

  1. mysql如何防止插入重复数据_防止MySQL重复插入数据的三种方法

    新建表格 CREATE TABLE `person` ( `id` int NOT NULL COMMENT '主键', `name` varchar(64) CHARACTER SET utf8 C ...

  2. mysql 禁止插入重复数据_防止MySQL重复插入数据的三种方法

    新建表格 CREATE TABLE `person` ( `id` int NOT NULL COMMENT '主键', `name` varchar(64) CHARACTER SET utf8 C ...

  3. SQLite在指定列后面插入字段_excel:批量插入任意空列,隔列插入空列,隔任意列插入空列...

    上期讲解了隔行插入空行,今天我们将讲解下如何批量插入空列,已经如何隔列插入空行,隔任意列插入空行.我们在遇到重复操作问题的时候,应该先想想有没有批量操作的办法,而不是手工一列列的插入. 1.批量插入任 ...

  4. mongoose 批量修改字段_常用SQL系列之(五):多表和禁止插入、批量与特殊更新等...

    本系统为@牛旦教育IT课堂在微头条上的内容, 为便于查阅,特辑录于此,都是常用SQL基本用法.. 前两篇连接: (一):SQL点滴(查询篇):数据库基础查询案例实战 (二):SQL点滴(排序篇):数据 ...

  5. mysql如何防止插入重复数据_如何防止MySQL重复插入数据,这篇文章会告诉你

    在MySQL进行数据插入操作时,总是会考虑是否会插入重复数据,之前的操作都是先根据主键或者唯一约束条件进行查询,有就进行更新没有就进行插入.代码反复效率低下. 新建表格 CREATETABLE`per ...

  6. python表格中插入图片_运维(1)python操作excel插入图片

    worksheet.insert_image() insert_image****(row, col, image[, options]) 在工作表单元格中插入一张图片. 参数: row(int) - ...

  7. 报错 插入更新_自增主键,三类插入测验答案,在这里。

    <三类插入与自增键的关系>一文,基本解答了<自增键四道测验题>,仍有水友要求贴答案,原理都解释了,copy语句执行下,真的难么?画外音:你们赢了,我还是贴一下执行结果.实验一. ...

  8. 交叉表 列字段排序_Tableau学习系列(8):表计算

    Tableau表计算,是针对多行数据进行计算的方式,创建表计算后,在"标卡/行/列"功能区的该计算字段,其右侧会出现正三角形符号.表计算能较好解决日常分析中的许多计算问题. 对同一 ...

  9. python向数据库写入数据_如何用Python向Mysql中插入数据

    我们使用Python经常会和Postgresql进行搭配,很少将python和mysql进行搭配.下面小编给大家分享如何用Python向Mysql中插入数据. 工具/原料 Pycharm 方法/步骤 ...

最新文章

  1. Science首发奥密克戎突刺蛋白分子水平分析,揭秘2大传染性增强原因,柳叶刀:全球大流行有望3月结束...
  2. 生信分析-PS修改坐标
  3. Flask入门之Virtualvenv的安装及使用(windows)
  4. 详解虚函数的实现过程之多重继承(3)
  5. 百练OJ:4016:班级排名
  6. php反转数字_PHP将字符串转换成数字
  7. 决胜秋招!分享128 道 Python 精选面试题!
  8. iNeuOS工业互联平台,发布消息管理、子用户权限管理、元件移动事件、联动控制、油表饼状图和建筑类设备驱动,v3.4版本...
  9. 电商美工怎么做促销海报,才让内容更有吸引力?看看这些大咖都在学习的优秀素材模板!
  10. 数据结构课程设计-通讯录管理系统(C语言版)
  11. ELF 文件数据分析: 全局变量
  12. 怎么将mov格式转换成mp4?
  13. 程序人生 - 农夫山泉、恒大冰泉、怡宝等矿泉水品牌的产品有哪些区别?
  14. php 缩略图黑图,一睡万年_119 黑图(上) - 小说者
  15. python输入逗号_python中 逗号的 用法
  16. 计算机毕业设计(17)python毕设作品之鲜花水果销售系统
  17. Pycharm、Vscode设置美女背景【内附20张高清图片】
  18. Solidity语法规范整理
  19. python中全组合函数(combinations)与全排列函数(permutations)
  20. 单片机波特率不加倍c语言,51单片机硬件系统设计时,为什么用11.0592MHz的晶振而不用12MHz晶振的原因及串口波特率误...

热门文章

  1. SalesArea F4 help
  2. 合并两个有序数组(双/三指针)
  3. win10格式化linux分区,直接删除linux分区再重装linux可以恢復启动么,我是直接在win10里把linux mint...
  4. java 继承和内部类_Java自学-接口与继承 内部类
  5. with dlz mysql 条件_Flask Bind-DLZ + Mysql DNS管理平台
  6. axure 倒计时_AxureRP教程—模拟倒计时
  7. mysql的c接口_mysql C接口大全
  8. mysql php 迁移_MySQL数据复制、迁移、转换
  9. python脚本根据cookies自动登录网站_python模拟登录并且保持cookie的方法详解
  10. 江苏卫视舞蹈演员机器人_虽然跨年湖南卫视收视第一,但要说专业,还属江苏卫视...