我正在努力完成这个查询;我的标签字段被设置为唯一,我只是希望数据库忽略任何重复的标签.

INSERT INTO table_tags (tag) VALUES ('tag_a'),('tab_b'),('tag_c')
ON DUPLICATE KEY IGNORE '*the offending tag and carry on*'

甚至这也是可以接受的

INSERT INTO table_tags (tag) VALUES ('tag_a'),('tab_b'),('tag_c')
ON DUPLICATE KEY UPDATE '*the offending tag and carry on*'

推荐答案

建议不要使用INSERT IGNORE,因为它会忽略所有错误(即它是一个草率的全局忽略).

INSERT INTO table_tags (tag) VALUES ('tag_a'),('tab_b'),('tag_c')
ON DUPLICATE KEY UPDATE tag=tag;

在复制关键点上生成:

查询正常,0行受影响(0.07秒)

Mysql相关问答推荐

如何使RST(*)在巨大的数据集上快速执行?

如何在产品查询中插入GROUP_CONCAT?

用于搜索从各种表中获得的结果的查询

Python - 执行原始 SQL 时获取更新查询 (Mysql) 的结果

SQL - 基本的内部连接查询

如何在 mysql 中获取 Day Wise 的平均值?

为什么order by子句可以利用索引?

为什么 MySQL 不使用索引进行简单的SELECT * FROM Table WHERE field='value'查询?

相关查询 - 在派生表中,我可以有多个嵌套级别吗?

如何将内置的时间浏览器过滤器反映到 Grafana 中的 mysql 查询中?

在一个 SQL 查询中对同一列中相同类型的不同值求和

将 wordpress 自定义字段转换为单个数组

插入重复键查询以在每一行上进行自定义更新

为什么 ORDER BY 'id' 'desc' 不返回语法错误?

如何删除没有临时表的 MySQL 表中的所有重复记录

SQL - 如何找到列中的最高数字?

为什么数据库行元组中的整数具有L后缀?

使用 Docker 我收到错误:SQLSTATE[HY000] [2002] 没有这样的文件或目录

在 Ubuntu 上安装 mysql gem 的困难

MySQL - 重复表