Domyślny format daty kolumny daty to YYYY-MM-DD HH:MM:SS
w MySQL.Sposób ładowania danych daty w MySQL przy użyciu DANYCH LOAD DATA
Plik danych, który próbuję wczytać, ma pole daty z datą w formacie DD-MON-YY HH:MM:SS
. Kiedy załadować plik, używając polecenia LOAD DATA
, baza pogubi i po prostu sprawia, że wszystkie wpisy date do 0000-00-00 00:00:00
lub NULL
Oto test zrobiłem używając STR_TO_DATE
opcję i to nie działa.
testu plik_we (test_temp.csv)
c1, c2
07-JUN-12 22:50:19, "abc"
07-JUN-13 22:50:19, "bcd"
Tabela Test (temp_test) Polecenie obciążenia
describe temp_test;
+-------+-------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+-------+-------------+------+-----+---------+-------+
| c1 | datetime | YES | | NULL | |
| c2 | varchar(10) | YES | | NULL | |
+-------+-------------+------+-----+---------+-------+
danych:
load data
infile '/var/lib/mysql/DataSet-1/temp_test.csv'
ignore
into table temp_test
fields terminated by ','
enclosed by '"'
lines terminated by '\r\n'
ignore 1 lines
(@var_c1,c2)
set c1 = STR_TO_DATE(@var_c1,'%d-%b-%y %h:%i:%s');
Wyjście
Query OK, 2 rows affected, 2 warnings (0.00 sec)
Records: 2 Deleted: 0 Skipped: 0 Warnings: 0
MySQL> show warnings;
+-------+------+-------------------------------------------------------------------------+
| Level | Code | Message |
+-------+------+-------------------------------------------------------------------------+
| Error | 1411 | Incorrect datetime value: '07-JUN-12 22:50:19' for function str_to_date |
| Error | 1411 | Incorrect datetime value: '07-JUN-13 22:50:19' for function str_to_date |
+-------+------+-------------------------------------------------------------------------+
MySQL> select * from temp_test;
+------+------+
| c1 | c2 |
+------+------+
| NULL | abc |
| NULL | bcd |
+------+------+
Czy problem z datą
- Wejście kolumny (powinna być
07-JUN-12
lub07-Jun-12
) lub - Z moją ciągu formatu (
%d-%b-%y
) lub - coś innego?
podobny do http://stackoverflow.com/questions/10102167/load-data-infile-easily-convert-yyyymmdd-to-yyyy-mm-dd – zamnuts
przykro mi link daliście nie rozwiązuje problemu. Stworzyłem mały test, aby pokazać problem: – smarisetti