从文件导入MySQL时出现日期问题
我有一个带有从文件导入MySQL时出现日期问题,mysql,sql,load-data-infile,Mysql,Sql,Load Data Infile,我有一个带有payDate DATETIME的表,我正在使用load data local infle'file.txt'将其插入表tableName中日期,如2012年4月26日00:00:00 这会发出警告,如第1行“payDate”列的数据被截断,表中的日期为0000-00-00:00:00 有没有办法指定日期的格式?试试: 您可能希望在加载之前修改这些变量: 将列类型设置为VARCHAR 加载数据填充 更新集column=DATE格式(str-to-DATE(列,'%d/%m/%Y'
payDate DATETIME
的表,我正在使用load data local infle'file.txt'将其插入表tableName中代码>日期,如2012年4月26日00:00:00
这会发出警告,如第1行“payDate”列的数据被截断,表中的日期为0000-00-00:00:00
有没有办法指定日期的格式?试试:
您可能希望在加载之前修改这些变量:
- 将列类型设置为VARCHAR
- 加载数据填充
- 更新集column=DATE格式(str-to-DATE(列,'%d/%m/%Y'),'%Y-%m-%d'))
- 将列类型设置回最新状态
- 显示警告
我没有将datetime转换为varchar,
下面是它的工作代码-
mysql查询将csv数据导出到本地目录
在导出的csv中,删除列名并保存
在表中,创建日期和更新日期的类型为datetime
将CSV数据导入mysql
导入成功 听起来不错,但为什么我得到“第1行'payDate'列的警告| 1264 |超出范围值”并插入空值?我需要添加“%h:%I:%s”或“00:00:00”
load data local infile 'file.txt' into table tableName
SET payDate = str_to_date(@payDate, '%d/%m/%Y');
SELECT organization_id,bank_name,branch_name,account_number,statement_type,parameter_name,
parameter_value,created_by,creation_date,updated_by,updation_date FROM cm_sub_param_values
INTO OUTFILE 'D:\mytable.csv'
FIELDS ESCAPED BY '""'
TERMINATED BY ','
ENCLOSED BY '"'
LINES TERMINATED BY '\r\n';
LOAD DATA INFILE 'D:/mytable.csv' IGNORE
INTO TABLE `cm_sub_param_values`
FIELDS TERMINATED BY ','
OPTIONALLY ENCLOSED BY '\''
LINES TERMINATED BY '\r\n'
(sub_param_id,organization_id,bank_name,branch_name,account_number,
statement_type,parameter_name,parameter_value,created_by,@creation_date,updated_by,@updation_date)
SET creation_date = STR_TO_DATE(@creation_date, '%m/%d/%Y %H:%i'),
updation_date = STR_TO_DATE(@updation_date, '%m/%d/%Y %H:%i') ;