我在MySQL中创建了一个表,该表包含几列数据类型为double的列,问题是我的数据中包含空值,我上载后该值将转换为零,我想保留空值或应该处理它为null但不为零,因为我的列可以将零作为有效条目保存。以下是我的DDL声明和数据上传声明,供您参考。
创建表db.testdata
(
Season
文字,
State
文字,
Crop
文字,
District
文字,
Taluka
文字,
RevenueCircle
文字,
Yield_2007
的Double DEFAULT NULL,
Yield_2008
的Double DEFAULT NULL,
Yield_2009
的Double DEFAULT NULL,
Yield_2010
的Double DEFAULT NULL,
Yield_2011
的Double DEFAULT NULL,
Yield_2012
的Double DEFAULT NULL,
Yield_2013
的Double DEFAULT NULL,
Yield_2014
的Double DEFAULT NULL,
Yield_2015
的Double DEFAULT NULL,
Yield_2016
双重默认NULL
)ENGINE = InnoDB DEFAULT CHARSET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci;
将文件'C:/ ProgramData / MySQL / MySQL Server 8.0 / Uploads / data.csv'中的数据加载到表db.testdata中 以“,”结尾的字段 行以“ \ n”结尾 忽略1行;
一个需要注意的事情是,例如,当我使用以下语句上传时: “插入db.testdata(Yield_2007)值(NULL)”; /它为空,但是当我通过INFILE语句上传数据时,它会将空白值转换为零。我尝试将NULL作为硬编码值与原始数据中的空白值进行比较,但仍将其转换为零。