Anda bisa mendapatkan setengah jalan dengan tidak harus mengulang nilainya:
INSERT INTO `tableName` (`a`,`b`,`c`) VALUES (1,2,3)
ON DUPLICATE KEY UPDATE `a`=VALUES(`a`), `b`=VALUES(`b`), `c`=VALUES(`c`);
Tapi Anda tetap harus membuat daftar kolom.