小编典典

有没有一种方法可以使用ON DUPLICATE KEY更新所有我想插入的内容?

mysql

我知道,ON DUPLICATE KEY UPDATE如果已经有该键的记录,您可以用来更新某个值,

我可以做这个:

INSERT INTO `tableName` (`a`,`b`,`c`) VALUES (1, 2, 3)
ON DUPLICATE KEY UPDATE `a`=1, `b`=2, `c`=3

但是,如何做到这一点而不必两次写出列和值呢?


阅读 198

收藏
2020-05-17

共1个答案

小编典典

不幸的是没有。

您可以不必重复该值而达到一半:

INSERT INTO `tableName` (`a`,`b`,`c`) VALUES (1,2,3)
  ON DUPLICATE KEY UPDATE `a`=VALUES(`a`), `b`=VALUES(`b`), `c`=VALUES(`c`);

但是您仍然必须列出这些列。

2020-05-17