【问题标题】:ON DUPLICATE update nothing [duplicate]ON DUPLICATE 不更新任何内容[重复]
【发布时间】:2015-05-13 22:53:28
【问题描述】:

我知道我可以使用UPDATE IGNORE 来传递是否存在重复键。我将如何使用以下语法来做同样的事情?

INSERT INTO table ON DUPLICATE KEY *do nothing*

【问题讨论】:

  • 可以尝试添加类似于ON DUPLICATE KEY 1 = 1的多余逻辑
  • @MikePurcell 好吧,这样做你正在做“某事”。问题是避免做任何事情。
  • insert ignore 工作。

标签: mysql


【解决方案1】:

你做的完全一样。

INSERT IGNORE INTO table ....

这将默默地跳过任何违反约束的行为。对于批量插入(例如insert ignore into table select ... from ...),这将跳过违反约束的行,但继续插入所有可能的行。

对删除重复有用。

【讨论】:

  • 注意,INSERT IGNORE 也会忽略分区分配错误等其他错误,并且不仅仅忽略键冲突。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2014-08-19
  • 1970-01-01
  • 1970-01-01
  • 2016-01-13
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多