加载数据 infile 什么都不做

Load data infile does nothing

我对 SQL 有点陌生。我正在尝试将数据添加到已创建的 table,csv 看起来像这样,它有 132645 行长:

iso_code;continent;location;date;population;total_cases;new_cases;new_cases_smoothed;total_deaths;new_deaths;new_deaths_smoothed;total_cases_per_million;new_cases_per_million;new_cases_smoothed_per_million;total_deaths_per_million;new_deaths_per_million;new_deaths_smoothed_per_million;reproduction_rate;icu_patients;icu_patients_per_million;hosp_patients;hosp_patients_per_million;weekly_icu_admissions;weekly_icu_admissions_per_million;weekly_hosp_admissions;weekly_hosp_admissions_per_million
AFG;Asia;Afghanistan;24/02/2020;398354280;50;50;NULL;NULL;NULL;NULL;126;126;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;
AFG;Asia;Afghanistan;25/02/2020;398354280;50;0;NULL;NULL;NULL;NULL;126;0;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;
AFG;Asia;Afghanistan;26/02/2020;398354280;50;0;NULL;NULL;NULL;NULL;126;0;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;
AFG;Asia;Afghanistan;27/02/2020;398354280;50;0;NULL;NULL;NULL;NULL;126;0;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;
AFG;Asia;Afghanistan;28/02/2020;398354280;50;0;NULL;NULL;NULL;NULL;126;0;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;

我的 sql 查询是这样的:

LOAD DATA LOCAL INFILE 'C:\Users\Usuario\Desktop\CovidDeaths.csv' INTO TABLE coviddeaths
columns terminated by ';'
LINES TERMINATED BY '\r\n';

我已经使用导入向导将一些数据上传到 coviddeaths table,但上传速度非常慢,因此尝试使用 LOAD DATA INFILE 查询完成导入。 要查看已经上传了多少行,我使用了

select count(*) from coviddeaths;

并投掷:

count(*)
11312

当我尝试 运行 LOAD DATA LOCAL INFILE 查询时,没有任何反应。鼠标指针旋转了一秒钟,就像它试图 运行 它一样,但它没有添加任何额外的行。它不会像我读到的 错误代码:1148 那样抛出任何错误。此 MySQL 版本 不允许使用的命令。我还尝试将 csv 文件放在 Uploads 文件夹中,我的 Secure File Priv 选项指向 my.ini:

# Secure File Priv.
secure-file-priv="C:/ProgramData/MySQL/MySQL Server 8.0/Uploads"

它什么都不做。有什么想法吗?

提前致谢!

编辑 2:数据库架构:

错误是由于 客户端和服务器都必须启用允许导入本地数据文件的选项。如果您使用命令行客户端,则需要像这样打开客户端:

mysql --local-infile -u root -p

此外,MySQL 服务器需要配置 local-infile 选项。

不需要 secure-file-priv,因为它控制在服务器上而不是从客户端导入或导出文件。

另见 ERROR 1148: The used command is not allowed with this MySQL version or my answer to

错误消息异常晦涩。 MySQL 错误消息通常更准确、信息更丰富。 I logged a bug in 2019 请求改进错误消息,他们确实在 MySQL 8.0.

中修复了它