1

我想使用与此类似的方法一次更新多条记录:

MySQL 中的多个更新

但是是否有一个 MySQL 命令可以忽略任何不重复的内容?就像是

ON DUPLICATE UPDATE ON UNIQUE IGNORE

(顺便说一句,我刚刚编写了这段代码)

?

4

1 回答 1

2

为什么我们不能使用可以更新 MULTIPLE 行的单个 UPDATE 命令!

UPDATE mytable 
SET Col2 = CASE
  WHEN Col1 = 1 THEN 'new Value From someplace';
  WHEN Col1 = 2 THEN 'War and Peace';
  ELSE Col2
END

ELSE Col2非常重要,否则您将用 NULL 覆盖表的其余部分 。

您可以添加更多CASE块来更新更多列。

通过这样做,您可以避免 INSERTING UNIQUE 记录的麻烦。

希望这可以帮助。

于 2013-01-18T16:41:35.963 回答