加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MySql教程 > 正文

Node.js / MySQL:在node.js中的错误日志中打印实际查询

发布时间:2020-12-11 23:53:42 所属栏目:MySql教程 来源:网络整理
导读:我有一些node.js代码尝试更新数据库,如下所示: connection.query(command,function(err,rows) { if (err){ console.log(command); console.log("ERROR"); console.log(err); return; } console.log("good"); }); 以上针对“命令”的不同值重复运行,从而对数

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

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

以上针对“命令”的不同值重复运行,从而对数据库生成不同的查询.问题是当出现错误时,在console.log(命令)中打印错误的查询.这是因为查询添加到队列的时间以及查询实际执行的时间不同,因此每次这些时间的“命令”值都不相同.有没有解决的办法?

注意: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");
});

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读