列数据类型为double的MySQL表能否保留空值

时间:2018-11-13 06:22:31

标签: mysql load-data-infile

我在MySQL中创建了一个表,该表包含几列数据类型为double的列,问题是我的数据中包含空值,我上载后该值将转换为零,我想保留空值或应该处理它为null但不为零,因为我的列可以将零作为有效条目保存。以下是我的DDL声明和数据上传声明,供您参考。

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作为硬编码值与原始数据中的空白值进行比较,但仍将其转换为零。

0 个答案:

没有答案