mysql 插入更新数据

2023-10-31

insert into

insert into 语句进行插入时,如果插入的字段包含 主键或者唯一索引字段,那么,

1)主键或唯一索引 已存在,则插入失败 1062 - Duplicate entry '1' for key 'PRIMARY'

2)只有主键或者唯一索 引不存在时,才能插入成功

存在则抛异常,不存在则插入成功

insert  ignore  into

insert  gnore  into 语句进行插入时, 如果插入的字段包含 主键或者唯一索引字段,那么,

1)主键或唯一索引 已存在,则不插入,返回 Affected rows: 0,不会报错

2)只有主键或者唯一索 引不存在时,会插入成功

存在则忽略,不存在则插入成功

replace into

 replace  into 语句进行插入时, 如果插入的字段包含 主键或者唯一索引字段,那么,

1)主键或唯一索引 已存在,则删除已存在的记录,插入新的记录,Affected rows: 2

2)主键或唯一索引 不存在,则直接插入

存在则删除后插入,不存在则直接插入

insert into  on duplicate key update column1=value1,column2=value2

当前插入方式:

1)如果主键或者唯一索引已存在:

        a:  如果已存在的记录中的 字段 和  后面的 update 字段 值相同,则不更新,影响行数:0

        b: 如果已存在的记录中的 字段 和  后面的 update 字段 值 不 相同,则删除已有记录,重新插入新的记录,新的记录中,使用 update 字段的值,影响行数:2

2)如果主键或者唯一索引不存在,则直接插入行,影响行数:1

存在 并且 不需要更新,则忽略;存在 并且需要更新,则删除记录并根据新值插入;不存在则直接插入

需要根据具体的业务场景来选择,一般都是 先 select,如果存在,则通过 upate 来更新指定字段,很少 利用 replace into 或者 insert into on duplicate key update 来操作,如果是唯一索引字段已存在,那么这两种都是会删除原来的行 再插入新的行,如果表的主键id 是增的话,岂不是 就变了。 

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

mysql 插入更新数据 的相关文章

  • 同一配置文件上的两个不同提供程序

    我在用着实体框架 6 1 0 I have 2 家提供者 MysqlClient 和 SQLServerCE 我需要创建2个不同的DBContext 这迫使我创造2个配置类因为mysql有一些不同的东西 但是当我初始化应用程序时 Datab
  • 从按日期时间排序的 MySQL 表中获取用户的最后一个条目

    我有一张看起来像这样的桌子 USERNAME DATA DATETIME Jhon text1 2010 06 01 16 29 43 Mike text2 2010 06 01 16 29 22 Silver text3 2010 05
  • MySql - 复制监控工具[关闭]

    Closed 此问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我有一个主 从 MySql 复制 我正在寻找一个允许我监视复制的工具 查看它没有错误 检查滞后等 我更喜
  • MySQL - 从临时表插入

    这看起来非常简单 但我坚持使用简单的插入语句 见下文 begin work CREATE TEMPORARY TABLE IF NOT EXISTS insert table AS select r resource id fr file
  • 不允许在 php 中连接到此 MariaDB 服务器

    我尝试在 php 中连接远程服务器数据库 但出现以下错误 Host xx xxx xx xx is not allowed to connect to this MariaDB server in 我的连接代码是这样的 servername
  • Windows 8.1 升级后 Apache 无法工作 [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 今天从 Windows 8 升级到 Windows 8 1 后 Apache 不再工作 我上次从 Windows 7 升级到 Window
  • 从另一台计算机访问 MYSQL

    我想开发一个java桌面应用程序 我想在其中设置服务器 这意味着我在这里使用mysql db 该数据库将仅存储在一台电脑上 其余所有用户都可以访问该数据库 所以 我听说了mysql远程连接 其中尝试了一些事情 这些措施如下 我的电脑已连接w
  • 如何在 MySQL 中求和时间?

    正如您在图片中看到的 我有一份停机报告 显示了所选工厂在选定日期的停机时间 现在我想添加所有的值 Time Duration 列并将其显示在附近的单独显示中 TOTAL TIME DURATION 例如 在图像中 所选日期为 2015 年
  • covertJSONtoSQL 在 NiFi 中返回空值

    我正在设计一项工作 使用以下命令将数据从 MySQL 中的数据库转移到另一个数据库 MySQL 执行SQL处理器随后将Avro转换为Json then 将Json转换为SQL then PutSQL如下流程图所示 将JSON转换为SQL返回
  • MySQL 通过 current_timestamp 选择上个月的数据

    直到今天 当我使用 MySQL 并需要对日期 时间执行操作时 我使用带有 unix 时间戳的 int 列 没有出现任何问题 但今天在阅读了一些指南后 我决定默认使用 current timestamp 测试时间戳列 所以我感兴趣如何按列选择
  • MySql 5.7 ORDER BY 子句不在 GROUP BY 子句中并且包含非聚合列

    我试图在不禁用 my ini 中的 only full group by 的情况下弄清楚 这是我的查询 SELECT p title COUNT t qty AS total FROM payments t LEFT JOIN produc
  • 如果 Row1 = 值 1,则更新其他行

    我有一个小的 php 脚本 用于访问 mySql 数据库 我想在数据库中插入新记录之前查看该数字 值 1 是否等于数据库中的记录 这也在第 1 行 所以我想 查看传入的电话号码是否等于数据库中的电话号码 如果是这样 则必须保持电话号码相同的
  • mysql 中的二进制、十六进制和八进制值

    我对在 mysql 数据库中使用二进制 十六进制和八进制系统非常感兴趣 首先 请给我一个建议 为什么我们在存储信息时需要它们 因为信息太多 或者为什么 另外 哪种类型的值必须存储在标记系统中 另外这里还有像 这是例子 gt SELECT 5
  • 如何在 SEQUELIZE (nodeJS) 中创建触发器?

    我正在尝试使用sequelize 创建一个触发器 主要思想是创建一个实例CONFIG创建后USER USER MODEL module exports function sequelize DataTypes var User sequel
  • PHP MySQL 使用选项/选择 HTML 表单标签进行多重搜索查询

    我正在尝试使用两个搜索字段设置基本的 MySQL LIKE 搜索 我不想拥有它 所以它有多个可选搜索字段 例如if isset POST city isset POST name 我不知道如何用 HTML 来做到这一点
  • 如何检测Mysql/innodb中的死锁?

    我知道在 Innodb 中使用事务时不可避免地会发生死锁 并且如果应用程序代码正确处理死锁 它们是无害的 正如手册所说 只需再试一次 所以我想知道 如何检测死锁 死锁是否会发出一些特殊的 mysql 错误号 如果重要的话 我正在使用 PHP
  • PHP 与 MySQL 查询性能( if 、 函数 )

    我只看到这个artice http www onextrapixel com 2010 06 23 mysql has functions part 5 php vs mysql performance 我需要知道在这种情况下什么是最好的表
  • 通过触发器应用表的列权限

    现在 我有一个名为 Members 的表 其中包含内容 分为联系人数据 银行数据 现在 管理员应该能够创建 更新 删除用户 这些用户保存在另一个表中 该表只能访问管理员 用户应该获得自己的 mysql 用户帐户 管理员还应该能够设置权限 例
  • mysql排序和排名语句

    我需要一些 mysql 语句的帮助 我的表 1 有 7 列 表 2 有 8 列 额外的列名为排名 我的语句应该是这样的 从表 1 中选择全部 然后按 用户数 排序 将其插入表 2 中并排名开始 1 2 3 等 table 1 usernam
  • 内部 while 循环不工作

    这是我项目网页上的代码片段 这里我想显示用户选择的类别 然后想显示属于该类别的主题 在那里 用户可以拥有多个类别 这没有问题 我可以在第一个 while 循环中打印所有这些类别 问题是当我尝试打印主题时 结果只显示一行 但每个类别中有更多主

随机推荐

  • Game of Primes (博弈)

    Game of Primes 题目链接 题意 初始有两个数 x 和 y 每次操作可以选择一个数减1 Alice和Bob轮流操作 指定某人先手 1 如果某时刻 x k 或 y k Bob胜 2 如果某时刻 x y都是素数 Alice胜 3 如
  • shell使用示例

    文章目录 shell使用示例 统计一个文本文件中每个单词出现的频率 打印文本文件的第十行 判断有效的电话号码 输出数字范围内7的倍数 shell使用示例 统计一个文本文件中每个单词出现的频率 cat text tr s n sort uni
  • Win11 文件夹打开慢或卡顿解决方案

    问题 目前是 2023 2 27 我的 Win11 系统点开一个文件夹要等待 2 3 秒才能加载出来 使用体验极差 网上查阅大量资料 有些人在系统更新后这个情况就消失了 但是我这一直存在 系统也是当前的最新版 没有修复 目前得出的结论是 因
  • 修改Maven的本地仓库位置

    最近开始学SSM整合项目视频时 需要用到Maven仓库于是便开始研究起了Maven 首先需要在官网下载Maven的压缩包 然后进行解压 再把其加入到环境变量中 由于主要研究的时Maven的如何修改仓库位置 所以这里就一笔带过 不知道如何配置
  • MySQL复习笔记-一条SQL更新语句是如何执行的?

    前面我们系统了解了一个查询语句的执行流程 并介绍了执行过程中涉及的处理模块 相信你还记得 一条查询语句的执行过程一般是经过连接器 分析器 优化器 执行器等功能模块 最后到达存储引擎 那么 一条更新语句的执行流程又是怎样的呢 之前你可能经常听
  • 简单的Markdown功能实现——marked模块的使用

    marked是一个markdown 解析 编译器 通过引入marked模块 可以实现一个简单的markdown编辑器 使用方式如下 Install 新建一个项目文件夹 在项目中下载marked模块 Usage 新建一个marked js文件
  • java 生成纯色图片_canvas简单实现纯色背景图片抠图(示例代码)

    最近在研究html5 canvas的过程中 发现 canvas为前端对图像的处理开辟了一条新的道路 canvas可以做到很多事情 甚至可以做个类似于PhotoShop的东西 曾经本人在一家软件工作就做类似的工作 可以看一下我之前开发的软件
  • 支付宝、微信Android APP支付接入流程

    支付类型 一次性支付 自动续费 支付宝周期扣款 微信委托扣款 1 支付并签约 2 先签约后扣费 注 微信委托扣款中先签约后扣费 自动续费 授权扣款 免密支付 支付宝 支付流程中各端交互逻辑 支付流程中商户APP端交互逻辑 先签约后扣费流程中
  • 深度学习笔记2:手写一个单隐层的神经网络

    欢迎关注天善智能 我们是专注于商业智能BI 人工智能AI 大数据分析与挖掘领域的垂直社区 学习 问答 求职一站式搞定 对商业智能BI 大数据分析挖掘 机器学习 python R等数据领域感兴趣的同学加微信 tsaiedu 并注明消息来源 邀
  • layout_weight属性的用法和意义

    一直没理解在LinearLayout中的layout weight属性的意义 使用的时候都是将子控件的layout width或者layout height设置为0 然后在设置layout weight的权重值 以至于在被问到如果设置了la
  • s3.GLSL学习之着色器基础

    着色器 着色器程序看起来确实和C语言非常类似 它们从入口点main函数开始 并且使用同样的字符集和注释约定 以及很多相同的处理指令 着色器是运行在GPU上的小程序 这些小程序为图形渲染管线的一个特定部分而运行 从基本意义上来说 着色器不是别
  • QT踩坑记录2-多线程信号与槽

    错误输出 无错误输出 但是声明了信号的连接 但是无法使用 程序中就是无命令 介绍 QT 典型程序 include
  • Vue技术之经典案例todolist

    文章目录 前言 案例效果展示 案例功能介绍 案例主要技术 案例搭建过程 案例总结 前言 todolist案例在学习很多技术上都很适合新手练手 在这篇文章中将用Vue技术来实现该案例 此外感兴趣的小伙伴可以点击下方链接来获取案例源码哦 案例源
  • 鸿蒙第二批升级时间,鸿蒙系统第二批升级名单_鸿蒙系统第二批有哪些手机可以升级...

    鸿蒙系统现在已经是开通了第二批内测名单的报名了 听说第二批又增加了不少适配机型 于是很多第一批没有更新的小伙伴好像重现燃起了希望 那么第二批升级名单中都有哪些机型呢 我们一起来了解一下吧 1 鸿蒙系统第二批升级名单 这一期鸿蒙OS 2 0开
  • 对接支付宝服务商当面付&手机网页支付

    一 前期准备 SpringBoot对接支付宝当面付和手机网站支付 springboot 支付宝当面付 Biubiubiuexo的博客 CSDN博客 配置成功后获得到我们开发需要的 支付宝公钥 商户私钥 应用ID 服务商开通链接 支付宝服务商
  • qt信号发送间隔短而槽耗时多_Qt的信号和槽机制(Signals & Slots)

    信号和槽 Signals Slots 用于对象之间的通信 信号和槽机制是Qt的核心特性 可能也是与其他框架所提供的特性最不同的部分 信号和槽是由Qt的元对象系统 The Meta Object System 实现的 产生背景 在GUI编程中
  • spring boot整合mybatis查询数据库返回Map字段为空不返回解决

    1 出现问题原因 原因1 mybatis的配置即mapper返回映射配置 原因2 jackson的配置即 ResponseBody序列化配置 2 解决方式 步骤1 解决原因1 mybatis configuration call sette
  • scss的用法

    SCSS处理的了解和使用 官方文档 首先注意 这里的sass和我们的scss是什么关系 sass和scss其实是 一样的 css预处理语言 SCSS 是 Sass 3 引入新的语法 其后缀名是分别为 sass和 scss两种 SASS版本3
  • la是什么牌子_MLB帽子为什么这么火?!

    说到潮牌 大家想到的一定是Champion Supreme这些品牌 实际上除了这几个品牌 还有许多潮流品牌非常值得购买 MLB就是其中之一 那为什么MLB能在火出圈的同时还能让这么多人都爱不释手 随着大家对着潮流的关注 走街上10个人中就有
  • mysql 插入更新数据

    insert into insert into 语句进行插入时 如果插入的字段包含 主键或者唯一索引字段 那么 1 主键或唯一索引 已存在 则插入失败 1062 Duplicate entry 1 for key PRIMARY 2 只有主