Parece que você está perdendo a palavra-chave INFILE
- a sintaxe deve ser algo como
LOAD DATA LOCAL INFILE './table1.csv' REPLACE INTO TABLE table1
FIELDS TERMINATED BY ',' LINES TERMINATED BY '\n';
Além disso, LOAD DATA LOCAL
é provavelmente desativado por padrão - embora você deva ser capaz de ativá-lo explicitamente na linha de comando do cliente mysql usando a opção --local-infile
, por exemplo.
$ mysql -u root -p test --local-infile
Enter password:
mysql> SELECT * FROM table1;
+----+-----------+--------+
| Id | name | value |
+----+-----------+--------+
| 1 | "Alice" | 12.345 |
| 2 | "Bob" | 34.560 |
| 3 | "Carol" | 89.100 |
+----+-----------+--------+
3 rows in set (0.00 sec)
mysql> LOAD DATA LOCAL INFILE './table1.csv' REPLACE INTO TABLE table1
-> FIELDS TERMINATED BY ',' LINES TERMINATED BY '\n';
Query OK, 3 rows affected (0.04 sec)
Records: 3 Deleted: 0 Skipped: 0 Warnings: 0
mysql> SELECT * FROM table1;
+----+-----------+--------+
| Id | name | value |
+----+-----------+--------+
| 1 | "Alice" | 12.345 |
| 2 | "Bob" | 34.560 |
| 3 | "Charlie" | 33.330 |
| 4 | "Drew" | 42.000 |
| 5 | "Edward" | 0.100 |
+----+-----------+--------+
5 rows in set (0.00 sec)