我正在尝试将带有一些空单元格的CSV导入MySQL数据库。你能帮我吗?
我的最后一个线程已关闭,因为它与
similar question
“。我尝试了这个解决方案,但没有成功,下面列出了对它的尝试。
我创建了一个表:
CREATE TABLE citytable (
id int(11) NOT NULL auto_increment,
city varchar(100),
number int(11) NOT NULL DEFAULT 1,
comment varchar(100),
primary key(id)
);
我已经用数据填充了csv,并希望将其导入到表中
CSV文件
csvfile.csv
:
id,city,number,comment
1,NY,1,Something
2,W,2,
3,C,1,Something
4,LA,1,
因此,我使用以下命令加载CSV:
LOAD DATA INFILE 'C:/ProgramData/MySQL/MySQL Server 8.0/Uploads/csvfile.csv'
INTO TABLE citytable
FIELDS TERMINATED BY ','
ENCLOSED BY '"'
LINES TERMINATED BY '\n'
IGNORE 1 LINES
(id,city,number,@vcomment)
SET comment = NULLIF(@vcomment,'');
我也尝试过设置默认值
comment
像
''
然后重新运行该命令,得到错误“error 1261(01000):第4行不包含所有列的数据”。
LOAD DATA INFILE 'C:/ProgramData/MySQL/MySQL Server 8.0/Uploads/csvfile.csv'
INTO TABLE citytable
FIELDS TERMINATED BY ','
ENCLOSED BY '"'
LINES TERMINATED BY '\n'
IGNORE 1 LINES
(id,city,number,comment);
如果单元格中没有数据,我如何导入数据库并让值为“NULL”?