首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将csv导入mysql时,日期字段值是错误的

将csv导入mysql时,日期字段值是错误的
EN

Stack Overflow用户
提问于 2016-07-18 09:58:12
回答 1查看 1.6K关注 0票数 0

我使用加载数据将csv文件导入mysql。我的load data命令如下所述。

代码语言:javascript
复制
load data local infile 'D:/mydata.csv' into table mydb.mydata 
fields terminated by ','
enclosed by '"'
lines terminated by '\r\n'
ignore 1 lines
(SrNo,SourceFrom,@var_updated,Title,First_Name,Middle_Name,Last_Name,Designation,Company_Name,@var_dob,Office_Mobile_No)  

set updated = str_to_date(@var_updated,'%Y-%m-%d'), dob = str_to_date(@var_dob, '%Y-%m-%d');

在我的“更新”和“道布”栏目中,我得到了不同的价值观。这些值在我的.csv文件中是不同的。

第一张图片来自mysql工作台,另一张来自csv。

另外,我在csv中将"office_mobile_no“列的格式设置为”number“。但它的显示号码是这样的。

当我双击它时,它只显示9875461234这样的实数。它在mysql中也导入了相同的内容。如何在特定列中获得原始编号?另外,为什么导入的日期值与csv的日期列不同?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-07-18 10:13:54

我能看到的几点:

  1. 从屏幕截图看,“更新”的CSV文件中的数据以d格式显示,但您正在告诉导入程序查找your。我认为你需要改变

set updated = str_to_date(@var_updated,'%Y-%m-%d')

代码语言:javascript
复制
set updated = str_to_date(@var_updated,'%d-%m-%Y')

道布字段也是如此,假设你的CSV有相同的格式。

  1. 你说我在csv中把"office_mobile_no“列的格式改为”数字“。CSV是一种文本文件格式,它不存储任何有关如何显示数据的信息。您所看到的只是Excel在默认情况下决定显示大数字的方式。您可以更改它,但是当您将更改保存到CSV时,您的更改不会被保存,因为CSV文件格式不包含此类信息。尝试在Notepad++中打开该文件并查看该文件的真实格式。
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38433771

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档