我一直在尝试将文件拉入表中,唯一遇到的问题是导入日期(当前采用 'MM/DD/YY'
格式)。无论我如何尝试,它们最终都会看起来像'0008-12-14'
。该日期在 .csv 文件中为 8/12/14
。我试过了
SET ShipDate = STR_TO_DATE(@ShipDate,'%Y%m%d')
但随后它将它们导入为NULL
。表字段设置为DATE
。代码如下:
$query = <<<eof
LOAD DATA LOCAL INFILE 'file.csv'
INTO TABLE HS_import
FIELDS TERMINATED BY ','
LINES TERMINATED BY '\n'
IGNORE 1 LINES
(AmountPaid,
ShipDate)
SET ShipDate = STR_TO_DATE(@ShipDate,'%Y%m%d')
eof;
最佳答案
您的 STR_TO_DATE 格式错误。它应该指定输入格式而不是输出格式:
SET ShipDate = STR_TO_DATE(@ShipDate,'%d%m%y')
所以整个事情应该看起来像
LOAD DATA LOCAL INFILE 'file.csv'
INTO TABLE HS_import
FIELDS TERMINATED BY ','
LINES TERMINATED BY '\n'
IGNORE 1 LINES
(AmountPaid, @ShipDate)
SET ShipDate = STR_TO_DATE(@ShipDate,'%d%m%y')
关于php - 从 csv 加载数据本地 INFILE 日期格式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29042114/