MySQL 批量插入或更新

2024-01-25

有没有办法批量执行查询,例如INSERT OR UPDATE在 MySQL 服务器上?

INSERT IGNORE ...

不起作用,因为如果该字段已经存在,它将简单地忽略它并且不插入任何内容。

REPLACE ...

不起作用,因为如果该字段已经存在,它将首先DELETE它然后INSERT再次,而不是更新它。

INSERT ... ON DUPLICATE KEY UPDATE

可以,但不能批量使用。

所以我想知道是否有类似的命令INSERT ... ON DUPLICATE KEY UPDATE可以批量发出(同时多于一行)。


You can使用 INSERT ... ON DUPLICATE KEY UPDATE 插入/更新多行。这文档 http://dev.mysql.com/doc/refman/5.1/en/insert-on-duplicate.html有以下示例:

INSERT INTO table (a,b,c) VALUES (1,2,3),(4,5,6)
ON DUPLICATE KEY UPDATE c=VALUES(a)+VALUES(b);

或者我误解了你的问题?

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

MySQL 批量插入或更新 的相关文章

  • 在 MySQL 连接字符串中指定密码

    我使用 MySQL 作为 DB 和 Yeoman 生成器创建了 ExpressJS MVC 应用程序 并在config js我想更改 MySQL 连接字符串 但我不知道在字符串中指定密码 我的字符串是mysql root localhost
  • 在Spring-Boot中,我们如何在同一个项目中连接两个数据库(Mysql数据库和MongoDB)?

    我正在尝试创建一个 Spring Boot 项目 其中我有一个要求 我想连接到不同的数据库 MySql 和 MongoDB 我是否需要做一些特殊的事情来连接到这两个数据库 或者 spring boot 会自动计算出自己连接到这两个数据库 我
  • 使用整数数组设置外键

    我对使用 SQL 还很陌生 但我在 Stack Overflow 上遇到过这个关于使用标签的问题 推荐用于标记或标记的 SQL 数据库设计 https stackoverflow com questions 20856 recommende
  • 如何在 Eloquent 中查询 JSON 列内的数组

    我已经在 Eloquent 中使用 JSON 成功完成了一些查询 但我不知道如何从数组内的对象中查询值 如下所示 在 属性 栏中 有 products media 1 code 4186GSB media 2 code 4186GSE 我想
  • SQL Server批量上传策略

    我使用以下函数将数据从 CSV 上传到 SQL 表 有更好的方法吗 我现在担心连接长时间保持 因此需要减少 public bool SaveProxyBulkUploadData List
  • 执行 SELECT 或 INSERT

    我想写一些类似的东西CASE以我想要的方式在 PostgreSQL 中声明SELECT从表中 如果什么也没找到 我想INSERT改为放入表中 我的示例表allocated ideas看起来像这样 challenge id user id i
  • “?”附近的 MySQLSyntaxErrorException当尝试执行PreparedStatement时

    我正在尝试使用Java 中的PreparedStatement 执行查询 当我尝试执行查询时 收到错误号 1064 语法错误 我已经在 MySQL 查询浏览器中使用替换值对此进行了测试 效果很好 我的代码有什么问题吗 这是相关代码 Stri
  • WooCommerce 中的分页

    我使用这个短代码在页面上显示产品的类别 但是当我们使用它时 它不会显示分页 因为我们的类别中有很多产品 我们使用以下代码 product category category snowpeak per page 12 columns 4 or
  • 我什么时候应该创建数据库索引? [复制]

    这个问题在这里已经有答案了 何时为表设置索引 是在创建表期间还是在性能调优时 索引的优点和缺点是什么 许多 大多数 DBMS 使用索引来支持唯一约束 始终创建索引以强制执行唯一约束 它们 约束 对于数据库的正确操作至关重要 如果您可以选择如
  • MySQL JDBC 连接上的故障转移?

    我正在尝试确定如何使用 MySQL JDBC 驱动程序实现高可用性解决方案 似乎有一个我可以设置的故障转移属性 但我想知道当使用 MySQL 和 JDBC 实现简单的故障转移机制时 人们倾向于使用什么 我们计划将 2 个前端 Tomcat
  • CHAR(64) 或 BINARY(32) 在 SQL SERVER 中存储 SHA256 哈希

    我正在讨论在 SQL Server 中存储 SHA256 哈希时使用哪种数据类型 应该是 CHAR 64 还是 BINARY 32 该列将成为唯一聚集索引的一部分 我知道此时我可能会吹毛求疵 但是我想第一次就把这件事做好 而且我知道有时原始
  • BIT(1) 的存储大小是多少?

    我一直认为a的存储大小BIT 1 列为 1 位 But http dev mysql com doc refman 5 6 en storage requirements html http dev mysql com doc refman
  • 通过 PHP 将 CSV 导入 MYSQL

    我正在将 CSV 文件导入到我的管理区域 并且我想将文件添加到我的数据库中 我的 PHP 代码import php is
  • MySQL 匹配全文

    我正在尝试使用 mysql 进行全文搜索以匹配字符串 问题是它首先返回奇怪的结果 例如 字符串 passat 2 0 tdi AND MATCH records veiculos titulo records veiculos descri
  • 将日期时间列拆分为年、月和周

    我想拆分日期时间列 以便年份和月份在 select 语句输出中都有自己的列 我还希望有一个按一年中的一周而不是特定日期的专栏 基本上 我希望单独的年 月和周列显示在我的 select 语句输出中 尝试使用DatePart http msdn
  • 如何在 Node 中使用 Mysql2 使用 async 和 pool 获取 MySQL 的 insertId?

    我正在尝试将 async wait 与 mysql2 和池一起使用 但我认为我做错了 下面是我的代码 正如我所说 我不确定我是否在这里做事 const pool mysql createPool host localhost user ro
  • 如何编写具有这种不寻常匹配标准的联接?

    我想要 左连接 一个表 以便值不仅连接到匹配行 而且还连接到任何后续的非匹配行 直到下一个匹配行 换句话说 我想用之前的非空值来填充空值 样本数据和期望结果 Table x id 1 2 3 4 5 Table y id val 1 a 4
  • 尝试通过 JDBC 将 UTF-8 插入 MySQL 时出现“错误的字符串值”?

    这就是我的连接设置方式 Connection conn DriverManager getConnection url dbName useUnicode true characterEncoding utf 8 userName pass
  • 如何在 SQL 中引用自定义字段

    我正在使用 mssql 但在使用子查询时遇到问题 真正的查询相当复杂 但其结构与此相同 select customerName customerId select count from Purchases where Purchases c
  • 2 同一个表的同一列上的 PostgreSQL 索引 - 冗余吗?

    我有一个带有 2 个索引的 PostgreSQL 表 其中一项指数涵盖website id and tweet idcolumns 是唯一的 B 树索引 第二个索引仅涵盖website id列 并且是非唯一索引 如果第一个索引存在 第二个索

随机推荐