你好!我是 MYSQL 的新手,所以請用盡可能簡單的語言解釋!
我有一個 400k 行的 csv,想將它匯入 mysql。為此,我正在使用LOAD DATA LOCAL INFILE命令:
LOAD DATA LOCAL INFILE 'C:/ProgramData/MySQL/MySQL Server 8.0/Uploads/Comorbidity Covid-19.csv'
INTO TABLE `comorbidity covid-19`
FIELDS TERMINATED BY ','
ENCLOSED BY '"'
LINES TERMINATED BY '\n'
IGNORE 1 ROWS;
問題是只有大約 200k 記錄被匯入,而 csv 包含 400k 記錄。為什么會這樣?我在命令提示符和MySql Workbench中都執行了該命令,但都給出了相同的輸出。日期列也沒有正確匯入。它不是顯示日期,而是在每行中顯示0000-00-00 。
PS: OPT_LOCAL_INFILE=1 在管理資料庫連接!
PS:這是一些示例資料

我所做的是首先我在資料庫中創建了一個空表,其中包含相應的列型別。我通過右鍵單擊表并選擇創建新表選項創建了一個只有列標題的空表,在該選項中我為每列選擇了正確的型別..Date as of并被Start Date賦予了日期型別等等。然后我在命令提示符和作業臺中執行了上述查詢以匯入行。
show create table coorbidity 給出了以下結果:
CREATE TABLE `comorbidity` (
`Date as of` date NOT NULL,
`Start Date` date NOT NULL,
`State` varchar(20) NOT NULL,
`Condition group` varchar(50) NOT NULL,
`Condition` varchar(45) NOT NULL,
`Age group` varchar(15) NOT NULL,
`Covid19 deaths` int NOT NULL,
`Number of mentions` int NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci
uj5u.com熱心網友回復:
可能是日期格式不正確,這就是它看起來錯誤的原因。嘗試將欄位從 excel 修改為正確的格式,或對日期執行 DATE() 函式。
在匯入所有記錄的主題上,檢查是否有任何字符中斷執行。
uj5u.com熱心網友回復:
只匯入 20 萬條記錄的原因是因為我使用的是:
LINES TERMINATED BY '\n'
當我將其更改為:
LINES TERMINATED BY '\r\n'
所有 40 萬條記錄均已匯入。
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/428832.html
上一篇:Python如何在不使用熊貓的情況下根據同一行中的其他單元格值從csv檔案中檢索特定的單元格值?
下一篇:R中多個csv檔案的完全連接
