使用mysqljs执行UPDATE语句

时间:2016-10-04 19:36:50

标签: javascript mysql node.js

我正在使用mysqljs而我正试图更新一个表,但它显示我的SQL语句错误。

文档说明了

connection.query('UPDATE users SET foo = ?, bar = ?, baz = ? WHERE id = ?', ['a', 'b', 'c', userId], function(err, results) {
  // ...
});

但是当我尝试这样做时,查询会创建我发送给第一个变量的所有变量?,忽略其他变量,就像这样

values = [1,2,3,4,5]
sql = 'UPDATE tablename SET col1= ?, col2 = ?, col3= ?, col4 = ? WHERE col5=  ?';

  var query = connection.query(sql, [values], function(err) {
      if (err) {
        console.log(err);
        throw err;
      }
      else {
        connection.end();
      }
  })

但是执行的查询是:

UPDATE tablename SET col1= 1, 2, 3, 4, col2 = ?, col3= ?, col4 = ? WHERE col5=  ?';

我不知道我做错了什么或做了什么来解决它。

1 个答案:

答案 0 :(得分:1)

您没有传递值数组,而是传递值数组的数组。停止这样做。