0
specsという名前のmysqlテーブルを作成しました。このテーブルにcsvファイルをインポートします。「FIELDS TERMINATED BY」と「LINES TERMINATED BY」の問題点は何ですか?
CREATE TABLE specs (
`Id` INT NOT NULL,
`Brand` VARCHAR(40) NOT NULL,
`Horsepower` INT NOT NULL,
`Range` INT NOT NULL,
PRIMARY KEY (Id)
);
CSVデータは、以下の
ID\Brand\Horsepower\Range
1\Mercedes Benz\237\634
2\Audi\345\567
3\Ford\190\456
4\BMW\278\547
5\Toyota\123\364
6\Fiat\90\289
7\Daihatsu\120\450
8\Jeep\500\670
9\Seat\119\289
10\Mitsubishi\78\410
のように見え、これは私がデータをインポートする方法ですが、テーブルがゼロで満たされています。問題はどこですか?私は、この問題はFIELDSとLINES BY BY TERMINATED BYで何かと思っています。
LOAD DATA LOCAL INFILE '/Users/anilyelin/Desktop/cars.csv'
INTO TABLE specs
FIELDS TERMINATED BY '\\'
LINES TERMINATED BY '\n'
IGNORE 1 ROWS
出力は次のようになります。
mysql> select * from specs;
+----+-------+------------+-------+
| Id | Brand | Horsepower | Range |
+----+-------+------------+-------+
| 1 | | 0 | 0 |
| 2 | | 0 | 0 |
| 3 | | 0 | 0 |
| 4 | | 0 | 0 |
| 5 | | 0 | 0 |
| 6 | | 0 | 0 |
| 7 | | 0 | 0 |
| 8 | | 0 | 0 |
| 9 | | 0 | 0 |
| 10 | | 0 | 0 |
+----+-------+------------+-------+
10 rows in set (0,00 sec)
間違いなく、バックスラッシュ '\'ではなく、他のシンボルを使用してください。 NO_BACKSLASH_ESCAPESが設定されている(おそらく)場合は、 'FIELDS TERMINATED BY '\''でしょう。 –