首页 > 解决方案 > 为什么我将所有值都视为 NULL?

问题描述

这是我在 MySQL 中运行的代码

LOAD DATA INFILE 'C:/ProgramData/MySQL/MySQL Server 8.0/Uploads/coviddeaths.csv' INTO TABLE coviddeaths
FIELDS TERMINATED BY ',' 
LINES TERMINATED BY '\r\n'
IGNORE 1 LINES
  
(
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
) 
SET 
iso_code=NULLIF(iso_code,''),
continent=NULLIF(continent,''),
location=NULLIF(location,''),
date=NULLIF(@date,''),
population=NULLIF(@population,''),
total_cases=NULLIF(@total_cases, ''),
new_cases=NULLIF(@new_cases, ''),
new_cases_smoothed=NULLIF(@new_cases_smoothed, ''),
total_deaths=NULLIF(@total_deaths, ''),
new_deaths=NULLIF(@new_deaths, ''),
new_deaths_smoothed=NULLIF(@new_deaths_smoothed, ''),
total_cases_per_million=NULLIF(@total_cases_per_million, ''),
new_cases_per_million=NULLIF(@new_cases_per_million,''),
new_cases_smoothed_per_million=NULLIF(new_cases_smoothed_per_million, ''),
total_deaths_per_million=NULLIF(@total_deaths_per_million, ''),
new_deaths_per_million=NULLIF(@new_deaths_per_million, ''),
new_deaths_smoothed_per_million=NULLIF(@new_deaths_smoothed_per_million, ''),
reproduction_rate=NULLIF(@reproduction_rate, ''),
icu_patients=NULLIF(@icu_patients,''),
icu_patients_per_million=NULLIF(@icu_patients_per_million,''),
hosp_patients=NULLIF(@hosp_patients,''),
hosp_patients_per_million=NULLIF(@hosp_patients_per_million,''),
weekly_icu_admissions=NULLIF(@weekly_icu_admissions,''),
weekly_icu_admissions_per_million=NULLIF(@weekly_icu_admissions_per_million,''),
weekly_hosp_admissions=NULLIF(@weekly_hosp_admissions,''),
weekly_hosp_admissions_per_million=NULLIF(@weekly_hosp_admissions_per_million,'');

运行此程序后,我在所有行中都看到了 Null 值。重新检查了 csv 文件中的数据,原始值在那里。

我正在尝试从“Alex the Analyst”YouTube 页面进行数据分析项目。数据取自这里

我究竟做错了什么 ?请帮忙!

标签: mysqlload-data-infile

解决方案


推荐阅读