【发布时间】:2013-09-03 19:35:53
【问题描述】:
我正在尝试使用 mysql 的 LOAD DATA LOCAL INFILE 语法将 .csv 文件加载到现有表中。这是我的.csv 文件中的一条记录(带有标题):
PROD, PLANT,PORD, REVN,A_CPN, A_CREV,BRDI, DTE, LTME
100100128144,12T1,2070000,04,3DB18194ACAA,05_01,ALA13320004,20130807,171442
问题是我想要在导入期间完成 3 件额外的事情:
A
RECORDIDINT NOT NULL AUTO_INTEGER PRIMARY_KEY 字段应在插入每一行时递增(此表列和结构已存在于 mysql 表中)应将 DTE 和 LTME 连接起来并转换为 mysql
DATETIME格式并插入到名为TRANS_OCR的现有 mysql 列中CREATEDTIMESTAMP 字段应设置为插入行时的当前 unix 时间戳(此表列和结构也已存在于 mysql 表中)
我正在尝试使用以下命令将此数据导入 mysql 表:
LOAD DATA LOCAL INFILE 'myfile.csv' INTO TABLE seriallog
FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '\"'
LINES TERMINATED BY '\n'
IGNORE 1 LINES
(FLEX_PN, FLEX_PLANT, FLEX_ORDID, FLEX_REV, CUST_PN, CUST_REV, SERIALID)
SET CREATED = CURRENT_TIMESTAMP;
我认为我的 CREATED 列设置正确,但其他列导致发出 mysql 警告:
Warning: Out of range value for column 'FLEX_PN' at row 1
Warning: Row 1 was truncated; it contained more data than there were input columns
谁能帮我语法,LOAD DATA LOCAL INFILE 模块让我很困惑...
【问题讨论】:
标签: mysql csv load-data-infile truncated