我知道,ON DUPLICATE KEY UPDATE如果已经有该键的记录,您可以用来更新某个值,
ON DUPLICATE KEY UPDATE
我可以做这个:
INSERT INTO `tableName` (`a`,`b`,`c`) VALUES (1, 2, 3) ON DUPLICATE KEY UPDATE `a`=1, `b`=2, `c`=3
但是,如何做到这一点而不必两次写出列和值呢?
不幸的是没有。
您可以不必重复该值而达到一半:
INSERT INTO `tableName` (`a`,`b`,`c`) VALUES (1,2,3) ON DUPLICATE KEY UPDATE `a`=VALUES(`a`), `b`=VALUES(`b`), `c`=VALUES(`c`);
但是您仍然必须列出这些列。