sql >> Database >  >> RDS >> Mysql

Hoe datumgegevens in MySQL te laden bij gebruik van LOAD DATA

Uw opmaaktekenreeks voor STR_TO_DATE() is ongeldig. Uren in uw voorbeeldgegevens hebben een 24-uursnotatie (%H of %k ) in plaats van 12 uur (%h ). U kunt alle mogelijke datumnotatiespecificaties zien hier .

Wijzigen

%d-%b-%y %h:%i:%s

naar

%d-%b-%y %H:%i:%s
         ^^

Uw verklaring kan er als volgt uitzien

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');

Na het laden met uw voorbeeldgegevens

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)


  1. Hoe te voorkomen dat dubbele records worden ingevoegd in SQL INSERT-query (5 eenvoudige manieren)

  2. Hebben MySQL-tabellen een ID nodig?

  3. MariaDB Backup &PostgreSQL in de cloud - ClusterControl Release 1.6.1

  4. Is het mogelijk om een ​​string in MySQL uit te voeren?