Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Import CSV MySQL:wartość daty i godziny

Data w pliku danych jest już w formacie, który MySQL powinien natywnie rozumieć. Jest po prostu ujęty w podwójne cudzysłowy. Musisz powiedzieć LOAD DATA INFILE jak radzić sobie z cytatami. Wypróbuj coś takiego:

LOAD DATA LOCAL INFILE 'myData.csv'
INTO TABLE equity_last_import
FIELDS OPTIONALLY ENCLOSED BY '"' TERMINATED BY ','
LINES TERMINATED BY '\n'
(equity,last,last_date)

Aktualizacja:

Ponieważ powiedziałeś, że to nie działa, stworzyłem tabelę testową i sprawdziłem, czy działa. Oto dowód:

Wyróżniłem twoje dane csv z pytania i wkleiłem do nowego pliku o nazwie myData.csv w /tmp mojego systemu teczka. Następnie połączyłem się z konsolą mysql, przełączyłem się na test bazy danych i uruchomił:

mysql> create table equity_last_import (equity int, last decimal(10,2), last_date datetime) engine=innodb;
Query OK, 0 rows affected (0.02 sec)

mysql> LOAD DATA LOCAL INFILE '/tmp/myData.csv'
    -> INTO TABLE equity_last_import
    -> FIELDS OPTIONALLY ENCLOSED BY '"' TERMINATED BY ','
    -> LINES TERMINATED BY '\n'
    -> (equity,last,last_date);
Query OK, 10 rows affected (0.00 sec)
Records: 10  Deleted: 0  Skipped: 0  Warnings: 0

mysql> select * from equity_last_import;
+--------+--------+---------------------+
| equity | last   | last_date           |
+--------+--------+---------------------+
|   4108 |  48.74 | 2013-09-16 16:15:04 |
|   4249 |   8.10 | 2013-09-16 16:15:04 |
|   4197 |   3.81 | 2013-09-16 17:20:00 |
|   4139 |  26.81 | 2013-09-16 16:15:04 |
|   4218 |  24.83 | 2013-09-16 17:20:00 |
|   4260 |  79.72 | 2013-09-16 16:15:04 |
|   4270 | 450.12 | 2013-09-16 17:20:00 |
|   4242 |  30.38 | 2013-09-16 16:15:04 |
|   4193 |   1.42 | 2013-09-16 16:15:04 |
|   4134 |   3.77 | 2013-09-16 16:15:04 |
+--------+--------+---------------------+
10 rows in set (0.00 sec)

Widzieć? Działa idealnie.

Kolejna aktualizacja:

Określiłeś, że teraz otrzymujesz następujący błąd:

Out of range value for column 'last_date' at row 1

Czy Twój plik CSV ma nagłówek? Jeśli tak, możesz dodać IGNORE 1 LINES do Twojego LOAD DATA INFILE polecenie, aby poinformować MySQL, aby pominął nagłówek.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Wyjątek mySQL:nie można połączyć się z żadnym z określonych hostów MySQL. przez C#

  2. SQL SELECT LIKE (niewrażliwa wielkość liter)

  3. Moja firma hostingowa twierdzi, że coś jest nie tak z kodem PHP

  4. Problemy z wiązaniem implodowanej tablicy do przygotowanej instrukcji mysql

  5. Instrukcja Node MySQL escape LIKE