我有一个使用MYSQL Workbench管理的MYSQL数据库。我正在尝试从Excel导入数据(当然转换为CSV)到现有的表中,我经常这样做,一般没有问题。从技术上讲,从MYSQL的角度来看,MYSQL Workbench通过生成一系列“插入到”语句来处理这个问题,而不是作为导入语句。
我遇到了麻烦,因为我导入的特定数据集在最后一列中没有值。在数据库中,表中的最后一列需要一个2位数字(或NULL)。当我导入数据并且MYSQL Workbench将其转换为“Insert into”语句时,我希望在最后一列中插入的值为NULL。相反,我一直在尝试插入的每一行都收到1644错误。
这是我尝试过的没有用的东西: - 将最后一列留空 - 使用单词NULL填充列 - 使用字符\ N填充列 - 添加一个假行(稍后要删除),它实际上在最后一列中有一个值,以便它可以实现那里有一个列
我没有想法。理想情况下,我想坚持使用MYSQL Workbench的“导入”(即插入)功能的过程,这样我就可以从Excel中添加数据块,而且我无法手动编辑数据库中的每一行。
示例(当我将最后一栏留空时) 以下是CSV中的一行数据: 4209,阅读,2015,1。下降,第10/12 / 15,114,212,3.4,93
以下是自动生成的“Insert into”的内容:
INSERT INTO Tests
(TestID
,Subject
,Year
,Season
,TestStartDate
,Duration
,RIT
, StdError
,Percentile
,AccuratePercentile
)VALUES('4209','Reading','2015','1。Fall','10 / 12/15','114', '212','3.4','93','');
这是错误的样子(我为每个“插入”得到其中一个)
错误1644:1644:错误:尝试在Percentile / Duration / RIT / AccuratePercentile中插入不正确的值; TestID:4209
SQL语句:
INSERT INTO Tests
(TestID
,Subject
,Year
,Season
,TestStartDate
,Duration
,RIT
, StdError
,Percentile
,AccuratePercentile
)VALUES('4209','Reading','2015','1。Fall','10 / 12/15','114', '212','3.4','93','')