gpt4 book ai didi

mysql - Node.js/MySQL : Printing actual query in error log in Node. js

转载 作者:IT老高 更新时间:2023-10-28 23:18:25 25 4
gpt4 key购买 nike

我有一些 Node.js 代码尝试更新数据库,如下所示:

connection.query(command, function(err,rows) {
if (err){
console.log(command);
console.log("ERROR");
console.log(err);
return;
}
console.log("good");
});

以上是针对“command”的不同值重复运行的,从而对数据库产生不同的查询。问题是当出现错误时,错误的查询会打印在 console.log(command) 中。这是因为查询加入队列的时间和实际执行查询的时间是不一样的,所以每次的“command”值都不一样。有没有办法解决这个问题?

注意:console.log(err) 打印错误本身,也是查询的一部分,但它只打印发生错误的行。我想打印整个查询。

最佳答案

根据 docs , 你可以使用 query.sql 来获取实际执行的查询。

var post  = {id: 1, title: 'Hello MySQL'};
var query = connection.query('INSERT INTO posts SET ?', post, function(err, 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");
});

关于mysql - Node.js/MySQL : Printing actual query in error log in Node. js,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41169797/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com