mysql - 如何在使用 Nodejs 将 CSV 数据上传到 mySQL 时修复 DATETIME 截断警告
问题描述
我正在获取 CSV 数据(来自使用 NPM 请求的 url),我使用 Nodejs 将其上传到 mySQL。此 CSV 数据已 created_at 列的值为“2015-10-19T04:00:00Z”。在 mySQL 中上传时,我想将此列的格式更改为“10/19/2015 4:00:00 AM”。
mySQL 表具有数据类型 DATETIME 的 created_at 列。但是,当我将“2015-10-19T04:00:00Z”上传到其中时,它会给出:- 警告消息是:消息:“第 24 行的列 \'created_at\' 的数据被截断”。如何在 NodeJS 的 mySQL 表中插入值之前更改数据格式?
var request = require('request');
var mysql = require('mysql');
var csvParser = require('csv-parse');
request(options, function (error, response, csvbody) { ...
csvParser(csvbody, { delimiter: ','}, function(err, data) { ...
con.query("INSERT INTO ?? VALUES ?", [mySQLTable, data], function(err, result) {...
解决方案
尝试使用以下语句代替您的语句:
con.query("INSERT INTO ?? (field_name) VALUES (timestamp(substr('?',1,14)))", [mySQLTable, data], function(err, result) {...
它应该工作。
推荐阅读
- ios - 如何使用 Swift 在 iOS 中以编程方式在显示和亮度中打开 NightShift
- java - 如何在构造函数不带参数的对象上制作有效的模拟套件?
- c# - Unity翻转纹理使用c#
- ios - 谷歌地图 - reverseGeocodeCoordinate 不会在新加坡打印地址
- excel - 如何根据单元格中的日期执行If语句,Excel VBA
- pandas - pandas 将 pandas (0.13.1) 更新到可用的最新版本
- kivy - Kivy 保存小部件而不被绘制导致空白 Fbo
- r - R长表到多维数组
- c# - WPF C#如何在同一个线程中同时调用/执行1到4个方法
- nginx - 从 url 读取查询参数以执行 nginx 重定向