Вашият форматен низ за STR_TO_DATE()
е невалидно. Часовете във вашите примерни данни имат 24-часов формат (%H
или %k
) вместо 12-часов (%h
). Можете да видите всички възможни спецификатори на формата на датата тук
.
Промяна
%d-%b-%y %h:%i:%s
до
%d-%b-%y %H:%i:%s
^^
Вашето изявление може да изглежда така
LOAD DATA INFILE '/path/to/temp_test.csv'
IGNORE INTO TABLE temp_test
FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"'
LINES TERMINATED BY '\r\n' -- or '\n'
IGNORE 1 LINES
(@c1, c2)
SET c1 = STR_TO_DATE(@c1,'%d-%b-%y %H:%i:%s');
След зареждане с вашите примерни данни
mysql> select * from temp_test; +---------------------+------+ | c1 | c2 | +---------------------+------+ | 2012-06-07 22:50:19 | abc | | 2013-06-07 22:50:19 | bcd | +---------------------+------+ 2 rows in set (0.00 sec)