Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/docker/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
MYSQL加载数据时间戳格式_Mysql - Fatal编程技术网

MYSQL加载数据时间戳格式

MYSQL加载数据时间戳格式,mysql,Mysql,我试图将数据加载到MySQL表中,我的所有时间戳(datetime字段类型)都被加载为null。我尝试加载的一个示例值是“2002-04-26 19:31:15.200000000”,我已将格式指定为“%Y-%c-%d%H:%I:%s.%f”(下面的语句) 由于null正在加载,我假设我的格式不正确,这导致加载null。我应该指定的正确格式是什么 set DateAdded = STR_TO_DATE(@DateAdded,'%Y-%c-%d %H:%i:%s.%f') 完整的LOAD inf

我试图将数据加载到MySQL表中,我的所有时间戳(datetime字段类型)都被加载为null。我尝试加载的一个示例值是
“2002-04-26 19:31:15.200000000”
,我已将格式指定为
“%Y-%c-%d%H:%I:%s.%f”
(下面的语句)

由于null正在加载,我假设我的格式不正确,这导致加载null。我应该指定的正确格式是什么

set DateAdded = STR_TO_DATE(@DateAdded,'%Y-%c-%d %H:%i:%s.%f')
完整的
LOAD infle
语句:

LOAD DATA INFILE 'CANDIDATES.txt' INTO TABLE dbo.CANDIDATE 
  FIELDS TERMINATED BY '|'
  ignore 1 lines 
  (ResumeKey,Address1,Address2,City,Candidate_Type,Candidate_Type_Changed_UserID,S‌​tate,Country,@DateAdded,@DateModified,Degree,Email,FirstName,GPA,GradYear,HomePho‌​ne,JobTitle,LastName,Locale,Major,MiddleName,OrgName,OtherPhone,SchoolName,Zip,Ac‌​tive_Flag,SecureCandidate_Flag,CandidateStackingField,CellPhone,Homepage,FaxNumbe‌​r,BRUID)
 set
   DateAdded = STR_TO_DATE(@DateAdded,'%Y-%c-%d %H:%i:%s.%f'),
   DateModified = STR_TO_DATE(@DateModified,'%Y-%c-%e %H:%i:%s.%f');

问题是正在加载的文件不是utf-8格式。MySQL无法加载uff-16文件

要在linux上转换该文件,您需要执行以下操作:iconv-f utf-16le-t utf-8(uff-15le格式的文件)>(新的uff-8文件的名称)

如果需要查找文件的当前编码,可以使用file-ib filename


转换加载的文件后没有问题。

问题是加载的文件不是utf-8格式。MySQL无法加载uff-16文件

要在linux上转换该文件,您需要执行以下操作:iconv-f utf-16le-t utf-8(uff-15le格式的文件)>(新的uff-8文件的名称)

如果需要查找文件的当前编码,可以使用file-ib filename


转换文件后,加载的文件没有问题。

似乎可以正常工作。我从
SELECT STR_TO_DATE('2002-04-26 19:31:15.200000000','%Y-%c-%d%H:%I:%s.%f')中获得了正确的值加载填充语句的其余部分是什么样子的?可能还有另一个错误。请注意,
%m
可能比
%c
更好地提供零填充月份,但这两种方式都应该有效。当然,语句的其余部分:将数据填充“CANDIDATES.txt”加载到表dbo中。以“|”结尾的候选字段忽略1行(简历密钥、地址1、地址2、城市、候选人类型、候选人类型、更改的用户ID、州、国家、@DateAdded、@DateModified、学位、电子邮件、名字、GPA、毕业年份、家庭电话、职务头衔、姓、地区、专业、中间名、组织名、其他电话、学校名、邮政编码、活动标志、安全候选人标志、候选人验证字段、手机、主页、传真号码、BRUID)设置DateAdded=STR_TO_DATE(@DateAdded,%Y-%c-%d%H:%i:%s.%f')、DateModified=STR_TO_DATE(@DateModified,%Y-%c-%e%H:%i:%s.%f');请编辑上面的原始帖子以添加该语句。您可以突出显示它并
ctl-k
或使用
{}
editor工具栏按钮,将其格式化为代码块。
LOAD
语句在我看来是正确的。还请发布从
候选者.txt开始的几行示例。似乎工作正常。我从
选择stru to_DATE('2002-04-26 19:31:15.200000000','%Y-%c-%d%H:%I:%s.%f')中获得了正确的值
加载填充语句的其余部分是什么样子的?可能还有另一个错误。请注意,
%m
可能比
%c
更好地处理零填充月份,但这两种方式都应该有效。当然,语句的其余部分:将数据填充'CANDIDATES.txt'加载到表dbo中。候选字段以'|'忽略1行(简历键、地址1、地址2、城市、候选人类型、候选人类型、更改的用户ID、州、国家、@DateAdded、@DateModified、学位、电子邮件、名字、GPA、毕业年份、家庭电话、职位名称、姓氏、地区、专业、中间名、组织名、其他电话、学校名、邮编、活动标记、安全候选人标记、候选测试字段、手机、主页、传真号码、BRUID)设置DateAdded=STR_TO_DATE(@DateAdded,%Y-%c-%d%H:%i:%s.%f')、DateModified=STR_TO_DATE(@DateModified,%Y-%c-%e%H:%i:%s.%f');请编辑上面的原始帖子以添加该语句。您可以突出显示它并
ctl-k
或使用
{}
编辑器工具栏按钮,将其格式化为代码块。
LOAD
语句在我看来是正确的。还请发布
CANDIDATES.txt
开头的几行示例。