对于将来寻找答案的任何人来说,最好的方法是使用load-data local infile选项,在该选项中,您需要调用特定的列,并用@符号指定要预处理的列。就像下面的例子一样。您可能还需要更新客户端和服务器端的设置,以允许加载数据选项工作。
在下面的代码示例中,我想将createdate字段从m/d/y格式更改为yyyy-mm-dd-的mysql格式
LOAD DATA local INFILE 'C:/Users/username/Documents/SAP/SAP GUI/QNs.txt'
IGNORE
INTO TABLE tbl_quality_notification
FIELDS TERMINATED BY '|'
LINES starting by '|'
TERMINATED BY 'rn'
IGNORE 6 ROWS
(@CreateDate,
NotificationNumber,
ItemNumber,
WorkOrder,
MaterialNumber,
MaterialDescription,
Disposition,
DeptResponsible,
OperationCaused,
DefQtyInt,
DefQtyExt,
TotalQty,
WcOpFoundAt,
OpDescription,
DefectLocation,
ProblemType,
ProblemDescription,
CauseCode,
CauseDescription,
RootCause,
CorrectiveAction)
SET CreateDate = STR_TO_DATE(@CreateDate, '%m/%d/%Y')
感谢GMB,加载本地infile似乎是正确的解决方案。我将发布一个新的线程来解决无效字符串的问题。