嘗試:
文件:/path/to/file/scores.csv
1,MJ,100,Micheal
MySQL命令行:
mysql> SELECT VERSION();
+-----------+
| VERSION() |
+-----------+
| 5.7.19 |
+-----------+
1 row in set (0.00 sec)
mysql> DROP TABLE IF EXISTS `score_table`;
Query OK, 0 rows affected (0.01 sec)
mysql> CREATE TABLE IF NOT EXISTS `score_table` (
-> `Number` BIGINT UNSIGNED NOT NULL AUTO_INCREMENT,
-> `Name` VARCHAR(255) NOT NULL,
-> `Score` INT UNSIGNED NOT NULL,
-> `Parent` VARCHAR(255) NOT NULL,
-> PRIMARY KEY (`Number`, `Name`)
->);
Query OK, 0 rows affected (0.00 sec)
mysql> INSERT INTO `score_table`
-> (`Name`, `Score`, `Parent`)
-> VALUES
-> ('MJ', 85, 'Micheal'),
-> ('Katie', 60, 'Jay');
Query OK, 2 rows affected (0.00 sec)
Records: 2 Duplicates: 0 Warnings: 0
mysql> SELECT
-> `Number`,
-> `Name`,
-> `Score`,
-> `Parent`
-> FROM
-> `score_table`;
+--------+-------+-------+---------+
| Number | Name | Score | Parent |
+--------+-------+-------+---------+
| 1 | MJ | 85 | Micheal |
| 2 | Katie | 60 | Jay |
+--------+-------+-------+---------+
2 rows in set (0.00 sec)
mysql> LOAD DATA INFILE '/path/to/file/scores.csv'
-> REPLACE INTO TABLE `score_table`
-> FIELDS TERMINATED BY ',' ENCLOSED BY '"'
-> LINES TERMINATED BY '\n'
-> (`Number`, @`Name`, `Score`, `Parent`)
-> SET `Name` = @`Name`;
Query OK, 2 rows affected (0.00 sec)
Records: 1 Deleted: 1 Skipped: 0 Warnings: 0
mysql> SELECT
-> `Number`,
-> `Name`,
-> `Score`,
-> `Parent`
-> FROM
-> `score_table`;
+--------+-------+-------+---------+
| Number | Name | Score | Parent |
+--------+-------+-------+---------+
| 1 | MJ | 100 | Micheal |
| 2 | Katie | 60 | Jay |
+--------+-------+-------+---------+
2 rows in set (0.00 sec)
「行1不包含所有列的數據」表明存在數據問題,您正在嘗試加載,您不覺得嗎?向我們展示一些示例數據,包括第一行。 – fancyPants
我認爲這不是數據的問題,因爲我刪除了REPLACE並且它工作了(只是沒有替換) –