插入 MySQL 表或更新(如果存在)

2024-01-08

我想向数据库表添加一行,但如果存在具有相同唯一键的行,我想更新该行。

例如:

INSERT INTO table_name (ID, NAME, AGE) VALUES(1, "A", 19);

假设唯一的密钥是ID,并在我的Database,有一行ID = 1。在这种情况下,我想用这些值更新该行。通常这会产生错误。
如果我使用INSERT IGNORE它会忽略该错误,但仍然不会更新。


Use INSERT ... ON DUPLICATE KEY UPDATE https://dev.mysql.com/doc/en/insert-on-duplicate.html

QUERY:

INSERT INTO table (id, name, age) VALUES(1, "A", 19) ON DUPLICATE KEY UPDATE    
name="A", age=19
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

插入 MySQL 表或更新(如果存在) 的相关文章

  • sql查询中case语句中的布尔值

    我在选择查询中使用 case 语句 类似这样 Select col1 col2 isActive case when col3 abc then 1 else 0 end col4 from
  • 查询从同一表中的另一条记录获取值并按大于间隙阈值的差异进行过滤

    我将数据导入到 MS Access 中的临时表中 如下所示 我添加了需要使用 SQL 查询计算的 Gap 和 Previous Current 列 间隙阈值 是用户输入或范围提供给查询和例如是 300 GlobalID 对 ItemID 进
  • Delphi XE5 FireDAC 错误:无法加载供应商库 [libmysql.dll 或 libmysqld.dll]

    我在 Windows 7 64 位上使用 Delphi XE5 只是尝试 FireDAC 组件 我正在使用一个 TFDConnection 组件连接到本地 MySQL 数据库 v5 6 15 我已经将 libmysql dll 32位 v5
  • 随机排列每行的列值

    我正在使用 C NET 开发多项选择题考试生成器 每次做出报告时 都会在数据库中随机挑选问题 并随机调整选项 我可以做随机问题部分 但我不能做选择的洗牌 我有一张表 其中一行如下 question answer distractor1 di
  • DBX 错误:驱动程序无法正确初始化

    我在跑步德尔福XE3 终极版 MySQL 数据库 这是我点击时收到的错误Test Connection 作为回应 我在 xampp 目录中找到了 libmysql 库 并将其复制到我的 System32 目录中 但这是行不通的 此消息指的是
  • MyBatis 枚举的使用

    我知道以前有人问过这个问题 但我无法根据迄今为止找到的信息实施解决方案 所以也许有人可以向我解释一下 我有一个表 状态 它有两列 id 和 name id是PK 我不想使用 POJO Status 而是使用枚举 我创建了这样一个枚举 如下所
  • 如何查找所有mysql表之间的所有关系?

    如何找到MySQL所有表之间的所有关系 例如 如果我想知道大约有 100 个表的数据库中表的关系 有什么办法知道这个吗 从编程角度来说 更好的方法是从以下位置收集数据 INFORMATION SCHEMA KEY COLUMN USAGE表
  • MySQL解释更新

    作为我大学复习的一部分 我试图回答以下问题 至少在表的一个属性上创建索引 employees 数据库 您可以在其中使用 MySQL EXPLAIN 工具 清楚地显示好处 在条款或检索方面 和负面 在 更新条款 创建相关索引的信息 对于第一部
  • SQL查询获取最后两条记录的DateDiff

    我有一个名为 Event 的表 其中 eventNum 作为主键 日期作为 SQL Server 2008 R2 中的 datetime2 7 我试图获取表中最后两行的日期并以分钟为单位获取差异 这就是我目前所拥有的 Select DATE
  • SQL Like 带有子查询

    我怎样才能做到这一点 SELECT FROM item WHERE item name LIKE SELECT equipment type FROM equipment type GROUP BY equipment type 内部子查询
  • Mysql关于重复键更新+子查询

    使用这个问题的答案 需要 MySQL INSERT SELECT 查询具有数百万条记录的表 https stackoverflow com questions 662877 need mysql insert select query fo
  • 软删除最佳实践(PHP/MySQL)

    Problem 在处理产品和订单的 Web 应用程序中 我想维护前员工 用户 与他们处理的订单之间的信息和关系 我想维护过时产品和包含这些产品的订单之间的信息和关系 然而 我希望员工能够整理管理界面 例如删除前员工 过时的产品 过时的产品组
  • MySQL 将表的校验和存储在另一个表中

    语境 我们有包含大量表的大型数据库 他们中的大多数 99 都使用innodb 我们希望有一个日常流程来监视哪个表已被修改 当他们使用 innodb 的值时Update time from SHOW table STATUS from inf
  • MySQL - 从另一个表插入与常量合并的数据

    我有一个包含一些数据的临时表 products temp 并且我有另一个需要将数据插入其中的表 产品 我需要在新记录上手动设置一些常量 例如vendor id 1等 是否可以在一次请求中插入临时表数据和常量 临时产品 product nam
  • 选择两列中两个日期之间的记录

    如何选择两列中两个日期之间的记录 Select From MyTable Where 2009 09 25 is between ColumnDateFrom to ColumnDateTo 我有一个日期 2009 09 25 我喜欢选择
  • 使用多个 WHERE 子句更新 Codeigniter 中的批次

    我查看了 CI 用户指南来了解如何处理update batch 并且它似乎只接受一个索引来匹配要更新的行 但在我的例子中 我需要指定两个索引 例如lang and id page我一起用作索引 这样的lang en id page 115是
  • jDBI中如何进行内查询?

    我怎样才能在 jDBI 中执行这样的事情 SqlQuery select id from foo where name in
  • 当php脚本通过ajax运行时显示进度条

    我有一个通过 ajax 向服务器提交值的表单
  • SQLite 中的累积求和值

    我正在尝试在 SQLite 中执行值的累积和 我最初只需要对一列求和并获得代码 SELECT t MyColumn SELECT Sum r KeyColumn1 FROM MyTable as r WHERE r Date lt t Da
  • Postgresql:SERIAL 在约束 INSERT 失败时递增

    有一个像这样的简单表结构 CREATE TABLE test id INT PRIMARY KEY sid SERIAL 我注意到如果我尝试插入一行但它未通过约束测试 即主键约束 SERIAL计数器无论如何都会增加 所以下一次成功插入 si

随机推荐

  • 计算列存储聚合计数

    我希望计算列存储来自另一个表的计数总计 我该怎么做 以下工作是否有效 创建表样本 列 1 AS SELECT COUNT FROM table2 PERSISTED 对于 SQL Server 您可以使用索引视图 http technet
  • “检查 S3 通用/方法一致性...警告”的说明

    我试图理解 S3 功能的 R CMD 检查警告 因此 这是我的情况的一个完全可重现的示例 包括 R 代码和 roxygen 代码 我永远无法在任何地方找到 S3 的完整示例 并且包中的实际使用要么过于复杂 要么记录不足 因此 希望这对其他实
  • 懒加载Spring bean

    如果一个bean是延迟加载的 那么延迟加载的bean中定义的所有bean都会被延迟加载吗 即使它们没有定义 Lazy 这是测试项目 https github com madhur conditional property test blob
  • 在 64 位环境中使用 32 位 COM 对象

    我在 Win7 64bit 上使用 powershell 3 我正在尝试通过以下命令使用 net of excel 32bit microsoft office interop excel xl文件格式 我得到了这个错误 无法找到类型 mi
  • 在 R 中编织为 PDF

    我是 R 新手 正在尝试将 R Markdown 文件编织成 PDF 格式 我不断收到错误消息 pandoc 找不到 pdflatex pdf输出需要pdflatex 错误 pandoc 文档转换失败 错误 41 执行停止 未检测到 TeX
  • 有哪些使用有限元来求解结构二维和三维框架的 python 库? [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • python 关闭文件描述符问题

    我认为这个问题更多的是 编码风格 而不是技术问题 说我有一行代码 buf open test txt r readlines 文件描述符会自动关闭 还是会留在内存中 如果文件描述符未关闭 关闭它的首选方法是什么 如果将文件对象分配给变量 则
  • 直接在主页登录/注册

    例如 我希望用户可以直接登录主页 而不是在页面 account login 上登录 我应该做什么才能使它成为可能 如何将主页上的输入字段与 allauth 连接 我不知道这是否太复杂而无法以这种方式工作 有一个适合我的解决方案 这不是最佳解
  • 有没有办法使用 OpenLayers 更改 openstreetmap 中某些要素的颜色?

    我正在使用 OpenLayers 来显示 openstreetmap 有没有办法编辑地图上的某些功能 例如改变水的颜色 消除国家之间的边界等 如果不能使用 JavaScript 来完成 我猜还有其他方法可以做到这一点 比如托管您自己的地图版
  • Django 模型选择:IntegerField 与 CharField

    TL DR 我有一个包含数百万个实例的表 我想知道应该如何为其建立索引 我有一个使用 SQL Server 作为数据库后端的 Django 项目 在生产环境中拥有大约 1400 万个实例的模型后 我意识到遇到了性能问题 class User
  • 使用 DataContext Attach 方法更新实体时更新检查问题

    我正在尝试在通用存储库中创建一个更新方法作为 LINQ to SQL 数据访问层 我有一个这样的实体 Table public class Product Column IsPrimaryKey true IsDbGenerated tru
  • 查找存储在字符数组中的函数的导数

    我需要做的是读取包含方程的文件 我需要计算每个方程的导数 然后将这些导数方程写入不同的 txt 文件中 我已将所有方程读入字符数组数组中 现在我不知道将它们存储到数组中后该怎么办 我真的不需要帮助将方程写入另一个文件 我知道我能解决这个问题
  • 将带有 List 的字典转换为 IEnumerable

    我有一本字典 Dictionary
  • jQuery $.inArray() 无法与使用 jQuery makeArray() 制作的数组正常工作

    我用这个创建了一个日期数组 var holidays 7 24 2010 7 25 2010 var holidaysArray jQuery makeArray holidays 然后测试数组中是否存在 myDate 日期对象 if in
  • 组合多个Powershell脚本

    当将多个 Powershell 脚本组合在一起时 如 mklement0 在他的回答中所示将多个 Powershell 脚本转换为 EXE https stackoverflow com a 59288784 139212 有没有办法考虑嵌
  • 在Scheme中实现“累计”功能

    几周来我一直在尝试实现 Accumulate 函数 我已经正确实现了一个 Map 函数 它遍历列表并在每个元素上运行一个函数 我正在使用这个函数来实现 累积 define accumulate lambda op base func ls
  • 如何在没有 nms 的情况下从 Tensorflow 对象检测 ssd-mobilenet 解码 raw_outputs/box_encodings

    为了在 Android 上部署我自己的 SSD 移动模型并使用NNAPI加速 我根据以下方法重新训练了模型 无需 NMS 后处理tensorflow objection detection API 没有 NMS 输出raw outputs
  • 在 Marklogic Javascript 中实现 For 循环?

    我可以使用下面的 XQuery 获取集合中文档的所有 URI for doc in fn collection transform return xdmp node uri doc 但是 当我尝试在 MarkLogic 的 Javascri
  • pytest:在报告中添加长测试描述的最佳方法

    默认情况下 pytest 在 pytest 报告中使用测试函数名称或测试文件名称 有没有在报告中添加测试描述 长测试名称 的最佳方法 而无需使用 pytest 重命名文件或函数 我们可以通过在运行时更新测试用例名称来做到这一点吗 请求 节点
  • 插入 MySQL 表或更新(如果存在)

    我想向数据库表添加一行 但如果存在具有相同唯一键的行 我想更新该行 例如 INSERT INTO table name ID NAME AGE VALUES 1 A 19 假设唯一的密钥是ID 并在我的Database 有一行ID 1 在这