connection.query(command,function(err,rows) {
if (err){
console.log(command);
console.log("ERROR");
console.log(err);
return;
}
console.log("good");
});
以上针对“命令”的不同值重复运行,从而对数据库生成不同的查询.问题是当出现错误时,在console.log(命令)中打印错误的查询.这是因为查询添加到队列的时间以及查询实际执行的时间不同,因此每次这些时间的“命令”值都不相同.有没有解决的办法?
最佳答案
根据docs,您可以使用query.sql来获取实际执行的查询.
var post = {id: 1,title: 'Hello MysqL'};
var query = connection.query('INSERT INTO posts SET ?',post,result) {
// Neat!
});
console.log(query.sql); // INSERT INTO posts SET `id` = 1,`title` = 'Hello MysqL'
在这种情况下,它将是
connection.query(command,function (err,rows) {
if (err) {
console.log('this.sql',this.sql); //command/query
console.log(command);
console.log("ERROR");
console.log(err);
return;
}
console.log("good");
});