我有一个.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可执行文件。
答案 0 :(得分:2)
在SQLite中,您需要在所有SQL语句的末尾使用分号。没有它们,它将为您提供继续提示,并等待您输入更多文本以添加到当前SQL命令。收到分号后,它会将语句传递给SQLite库以供执行。
但是,如果该行以点(。)开头,则sqlite3程序会解释该行本身而不将其发送到SQLite库。点语句不需要分号。只需从.import行中删除分号即可。 (一个线索是,问题在于分号出现在错误消息中的表名中。)
我很惊讶你的.separator系列最后使用分号。如果没有它,它肯定会工作。