nodejs新手。 我遇到了无效的语法错误。 这可能是由于试图转义字符而引起的。
let i = 0;
while(i < answered.length){
let td = [
connection.escape(questionnaireId),
connection.escape(sId),
connection.escape(questionId),
connection.escape(answered[i]),
connection.escape(hutk)
];
values.push(td);
i++;
}
let sql = "INSERT INTO answers (qId, sId, key, value, hutk) VALUES ?";
connection.query(sql, [values], function(err, result){
if(err) throw err;
console.log("Successfull Insert");
connection.release();
});
我明白了
"errno": 1064, "sqlMessage": "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 'key, value, hutk) VALUES ('18', '\'yZfXqYnvIXmLMuDAthbRr7IHtkFp5cl2ZSPCsEwY\'', ' at line 1", "sqlState": "42000", "index": 0,
"sql": "INSERT INTO answers (qId, sId, key, value, hutk) VALUES ('18', '\\'yZfXqYnvIXmLMuDAthbRr7IHtkFp5cl2ZSPCsEwY\\'', '5','\\'23@sd.lk\\'', '\\'f98a7585ce8d984a902df90263cdab5d\\'')"
最佳答案
在mysql中键入一个保留字,请尝试
let sql = "INSERT INTO answers (qId, sId, `key`, value, hutk) VALUES ?";
您可以放置所有列,但这也有效
关于mysql - mysql : nodejs 上的语法无效,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57949193/