我需要在这个表的“数据”列中存储一个JSON:

我试着存储一个json,但是我收到错误,可能是因为引用.
connection.connect();
var query = 'INSERT INTO Forecasts (data, createdAt, updatedAt, OrchardId) VALUES ?';
connection.query(query, [['{"id": 1}', '2017-07-06 16:08:19','2017-07-06 16:08:19',3]],function (error, results, fields) {
if (error) throw error;
console.log('The solution is: ', results[0].solution);
});
connection.end();输出
$ npm启动 revo天气@1.0.0开始/用户/giovannimarino/Desktop/revo天气节点index.js {"id":1}插入预测值(data,createdAt,updatedAt,OrchardId)值("gio","2017-07-06 16:08:13","2017-07-06 16:08:13“),3) MacBook di-Giovanni:revo- giovannimarino$ npm start revo天气@1.0.0启动/用户/giovannimarino/Desktop/revo天气节点index.js抛出错误;//重新抛出非MySQL错误^ 错误: ER_PARSE_ERROR:您的SQL语法出现了错误;检查与您的MySQL服务器版本对应的手册,以获得在“{\id\”:1}、“2017-07-06 16:08:19”、“2017-07-06 16:08:19”附近使用的正确语法,3‘在第1行在(/Users/giovannimarino/Desktop/revo-weather/node_modules/mysql/lib/protocol/sequences/Sequence.js:52:14) at Query.ErrorPacket (/Users/giovannimarino/Desktop/revo-weather/node_modules/mysql/lib/protocol/sequences/Query.js:77:18) at Protocol._parsePacket (/Users/giovannimarino/Desktop/revo-weather/node_modules/mysql/lib/protocol/Protocol.js:280:23) (/Users/giovannimarino/Desktop/revo-weather/node_modules/mysql/lib/protocol/Parser.js:75:12) at Protocol.write (/Users/giovannimarino/Desktop/revo-weather/node_modules/mysql/lib/protocol/Protocol.js:39:16) at Socket。(/Users/giovannimarino/Desktop/revo-weather/node_modules/mysql/lib/Connection.js:103:28) at emitOne (events.js:115:13) at Socket.emit (events.js:210:7) at addChunk (_stream_readable.js:252:12) at readableAddChunk (_stream_readable.js:239:11)(/Users/giovannimarino/Desktop/revo-weather/node_modules/mysql/lib/protocol/Protocol.js:141:48) at Connection.query (/Users/giovannimarino/Desktop/revo-weather/node_modules/mysql/lib/Connection.js:208:25) at Object.(/Users/giovannimarino/Desktop/revo-weather/index.js:19:12) at Module._compile (module.js:569:30) at Object.Module._extensions..js (module.js:580:10) at Module.load (module.js:503:32) at tryModuleLoad (module.js:466:12) at Function.Module._load (module.js:458:3) at Function.Module.runMain (模块)。js:605:10)在启动(bootstrap_node.js:158:16) npm错误!代码ELIFECYCLE npm错误!错误1国家预防机制错误!天气预报@1.0.0开始:
node index.jsnpm!退出状态1 npm错误!npm错误!在revo- Failed @1.0.0启动脚本时失败。npm错误!这可能不是npm的问题。上面可能有额外的日志输出。 npm错误!这个运行的完整日志可以在: npm中找到! /Users/giovannimarino/.npm/_logs/2017-07-14T14_16_03_166Z-debug.log
发布于 2017-07-14 14:30:32
不如先JSON.strigify你的json对象,然后持久化它。在提取数据时,您可以再次解析它。
connection.connect();
var query = 'INSERT INTO Forecasts (data, createdAt, updatedAt, OrchardId) VALUES ?';
connection.query(query, [[JSON.stringify('{"id": 1}'), '2017-07-06 16:08:19','2017-07-06 16:08:19',3]],function (error, results, fields) {
if (error) throw error;
console.log('The solution is: ', results[0].solution);
});
connection.end();发布于 2017-07-14 14:29:46
您可以简单地使用:
JSON.stringify(data)https://stackoverflow.com/questions/45105248
复制相似问题