MySQL 批量插入(忽略主键 ID,但重复更新另一个键)

标签 mysql insert bulkinsert

在批量插入时,如何忽略主键“id”的重复键更新而只更新另一个键“another_unique_id”的条目?

INSERT INTO
  some_table (`id`, `another_unique_id`, `raw_data)
  VALUES     (5   ,  'ABCDEFG', 'blah')
ON DUPLICATE KEY UPDATE ...?

例如—— 如果有 id: 5 的记录,我不想更新它。我将插入一条新记录。

如果“another_unique_id”字段中有包含“ABCDEFG”的记录,那么我想将该条目更新为“blah”

最佳答案

我认为你应该通过

INSERT INTO
some_table (`id`, `another_unique_id`, `raw_data)
VALUES     (NULL   ,  'ABCDEFG', 'blah')
ON DUPLICATE KEY UPDATE ...?

否则没有意义

关于MySQL 批量插入(忽略主键 ID,但重复更新另一个键),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7167908/

相关文章:

php - 禁用的表单元素可以与启用的表单元素共享一列吗?

arrays - 如何提高 MongoDB 批量性能?

tsql - TRY 不会在 BULK INSERT 中捕获错误

mysql 使用 join 插入外部数据

MySQL 5.x SUM by ID查询帮助

php - 仅在页面加载和表单提交期间执行存储过程

mysql - 一张表中的多项计数功能

java - 字符串参数插入语句中的引号

mysql - 触发器工作正常,但插入错误

java - 多个流中批量写入mongoDB时出错