无法将csv导入SQLite中的表:没有此类表错误

时间:2015-09-01 02:31:30

标签: sql csv sqlite

我有一个.csv格式的wireshark转储,我想分析。我尝试按照here所述导入CSV文件。这些是我从命令行运行的命令 -

sqlite> create table network(no,time,source,dest,proto,info);
sqlite> .separator ",";
sqlite> .import E:\\Pavan\\_DataScience\\MP1\\network_data1\\challenge_network\\TestNetworkData.csv network;
Error: no such table: network;
sqlite> .tables
network
sqlite>

.table命令清楚地表明network表确实存在。我不知道导入命令失败的原因。

PS :我正在运行从Windows上的official site下载的sqlite3可执行文件。

1 个答案:

答案 0 :(得分:2)

在SQLite中,您需要在所有SQL语句的末尾使用分号。没有它们,它将为您提供继续提示,并等待您输入更多文本以添加到当前SQL命令。收到分号后,它会将语句传递给SQLite库以供执行。

但是,如果该行以点(。)开头,则sqlite3程序会解释该行本身而不将其发送到SQLite库。点语句不需要分号。只需从.import行中删除分号即可。 (一个线索是,问题在于分号出现在错误消息中的表名中。)

我很惊讶你的.separator系列最后使用分号。如果没有它,它肯定会工作。