mysql的回调函数里面的参数 err 是啥结构的?
发布于 5 年前 作者 jyk0011 3193 次浏览 来自 问答

conn.query(sql, parmes, function (err, result) {}

这里的err到底是啥结构的呢?按照网上的实例: console.log(’[ERROR ] - ', err.message); 显示的是:

WARN_DATA_TRUNCATED: Data truncated for column ‘age’ at row 1 应该是一个字符串吧,那么message是属性名称吗?

然后我把 err变成字符串

console.log('[INSERT err2 ] - ',JSON.stringify(err) );
显示的是:

{ “code”:“WARN_DATA_TRUNCATED”, “errno”:1265, “sqlMessage”:“Data truncated for column ‘age’ at row 1”, “sqlState”:“01000”, “index”:0, “sql”:“INSERT INTO node_user(id,name,age) VALUES(0,‘name11’,‘3w3’)”}

但是这里面怎么没有 message ?上面那个 err.message 是哪来的?

然后我又直接输出

console.log(’[INSERT err ] - ',err); 这次显示的内容就多了 { Error: WARN_DATA_TRUNCATED: Data truncated for column ‘age’ at row 1 at Query.Sequence._packetToError (D:\nodejs\node_modules\mysql\lib\protocol\sequences\Sequence.js:47:14) at Query.ErrorPacket (D:\nodejs\node_modules\mysql\lib\protocol\sequences\Query.js:77:18) at Protocol._parsePacket (D:\nodejs\node_modules\mysql\lib\protocol\Protocol.js:278:23) at Parser.write (D:\nodejs\node_modules\mysql\lib\protocol\Parser.js:76:12) at Protocol.write (D:\nodejs\node_modules\mysql\lib\protocol\Protocol.js:38:16) at Socket.<anonymous> (D:\nodejs\node_modules\mysql\lib\Connection.js:91:28) at Socket.<anonymous> (D:\nodejs\node_modules\mysql\lib\Connection.js:502:10) at emitOne (events.js:115:13) at Socket.emit (events.js:210:7) at addChunk (_stream_readable.js:264:12) -------------------- at Protocol._enqueue (D:\nodejs\node_modules\mysql\lib\protocol\Protocol.js:144:48) at Connection.query (D:\nodejs\node_modules\mysql\lib\Connection.js:200:25) at Object.exports.query (D:\nodejs\test\natureFW\dbHelp.js:46:10) at Object.<anonymous> (D:\nodejs\test\NatureTest\testAdd.js:55:12) at Module._compile (module.js:624:30) at Object.Module._extensions…js (module.js:635:10) at Module.load (module.js:545:32) at tryModuleLoad (module.js:508:12) at Function.Module._load (module.js:500:3) at Function.Module.runMain (module.js:665:10) code: ‘WARN_DATA_TRUNCATED’, errno: 1265, sqlMessage: ‘Data truncated for column ‘age’ at row 1’, sqlState: ‘01000’, index: 0, sql: ‘INSERT INTO node_user(id,name,age) VALUES(0,‘name11’,‘3w3’)’ }

这回一下子多了好多。都是啥?

这大概是一个函数把,有属性和方法,JSON.stringify()好像只是把属性的部分给变成字符串了,其他的似乎没关。

回到顶部