Sie können die Hälfte erreichen, indem Sie den Wert nicht wiederholen müssen:
INSERT INTO `tableName` (`a`,`b`,`c`) VALUES (1,2,3)
ON DUPLICATE KEY UPDATE `a`=VALUES(`a`), `b`=VALUES(`b`), `c`=VALUES(`c`);
Aber Sie müssen die Spalten trotzdem auflisten.