Nodejs的MySQL的重复密钥更新

我正在使用节点Mysql

var values = []; //array with actual values var sql = "INSERT INTO table (field1, field2) VALUES ? ON DUPLICATE KEY UPDATE updated_at = now()"; connection.query(sql, values, function() { }); 

我得到一个错误

 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'ON DUPLICATE KEY UPDATE updated_at = now() 

同时,相同的查询在mysql cli中起作用。

可能是什么问题呢?

您没有在“值”数组上放置任何值,并且INSERT需要两个值。 你可以检查SQL是如何构build的:

 var query = connection.query(sql, values, function() {}); console.log(query.sql);