是否可以使用 Node mysql / mysql2 库查看完整的编译查询?

问题描述

例如我有一个这样的代码

conn.query('INSERT INTO events_log SET ?',[record]);

如果出现错误,库只会显示错误本身,而不是库进行查询。可以看到吗?

附言我的意思是查询应该看起来像 INSERT INTO events_log SET name = 'va\'lue' 并且没有这个查询错误示例是:

Error: Data too long for column 'ip' at row 1
    at PromiseConnection.query (/Users/node_modules/MysqL2/promise.js:92:22)
    at /Users/server.js:195:9
    at processticksAndRejections (node:internal/process/task_queues:93:5) {
  code: 'ER_DATA_TOO_LONG',errno: 1406,sqlState: '22001',sqlMessage: "Data too long for column 'ip' at row 1"
}

解决方法

debug: true 添加到 createConnectioncreatePool 将显示组合查询:

mysql.createConnection({debug: true});