我正在使用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= ?';
我不知道我做错了什么或做了什么来解决它。
答案 0 :(得分:1)
您没有传递值数组,而是传递值数组的数组。停止这样做。