表結構:
drop table if exists `qi_an_log`;
CREATE TABLE `qian_log` (
`dt` LONG NOT NULL COMMENT '產生日期,格式yyyy-MM-dd',
`METHOD_NAME` varchar(30) NOT NULL COMMENT '渠道名稱或者接口名稱',
`src_ip` varchar(45) DEFAULT NULL,
`ip` varchar(45) DEFAULT NULL,
`mobile` varchar(30) DEFAULT NULL,
`id_no` varchar(30) DEFAULT NULL,
`user_name` varchar(32) DEFAULT NULL COMMENT '姓名',
`log_date` datetime DEFAULT NULL COMMENT '日期',
`ret_code` tinyint(4) DEFAULT NULL DEFAULT '1' COMMENT '默認值1-激活,0-非激活',
`is_exist` tinyint(4) DEFAULT NULL DEFAULT '0' COMMENT '默認值0-未刪除,1-刪除'
)ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='導入數據';
1. 編碼格式問題解決:
show variables like 'char%';
然后
set character_set_database=utf8;
2. 涉及到分隔符
load data local infile 'D:/document/log/test11.csv' into table qian_log FIELDS TERMINATED BY ',' (dt,METHOD_NAME,src_ip,ip,mobile,id_no,user_name,ret_code,is_exist) ;
3. 導入日期
日期完全可以使用varchar表示,不影響使用,且不易出錯。
alter table `check_post01` add column `log_date` VARCHAR(45) DEFAULT NULL COMMENT '日期';
update qi_an_log set dt=REPLACE(dt,'"','');
update `qi_an_log` set log_date= FROM_UNIXTIME( dt/1000, '%Y-%m-%d' ); ;
涉及時間格式轉換
select FROM_UNIXTIME( dt/1000, '%Y-%m-%d' ) from `qi_an_log`;