小编典典

在重复键忽略?

all

我正在尝试完成此查询;我的标签字段设置为唯一,我只是希望数据库忽略任何重复的标签。

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*'

阅读 69

收藏
2022-07-14

共1个答案

小编典典

建议不要使用 INSERT IGNORE 因为它会忽略所有错误(即它是一个草率的全局忽略)。相反,由于在您的示例tag中是唯一键,请使用:

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

在重复键上产生:

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

2022-07-14