2016-04-03 130 views
1

按照official documentation这是你如何可以导出表为.csv:sqlite3的:错误:未知命令,或者无效参数:“一次”

sqlite> .header on 
sqlite> .mode csv 
sqlite> .once c:/work/dataout.csv 
sqlite> SELECT * FROM tab1; 
sqlite> .system c:/work/dataout.csv 

然而,命令序列的第3行我获得:

Error: unknown command or invalid arguments: "once". Enter ".help" for help 

我的路径有效,我有权写入该位置。我的sqlite3的版本是

sqlite> .version 
SQLite 3.8.2 2013-12-06 14:53:30 27392118af4c38c5203a04b8013e1afdb1cebd0d 

在Ubuntu 14.04

我用Google搜索了此错误信息,它这个没什么用处远远跑。


FIX:

sqlite> .header on 
sqlite> .mode csv 
sqlite> .output dataout.csv 
sqlite> SELECT * FROM tab1 

应为当前版本。否则更新到更新的版本。

回答

2

once命令在基于changelog的SQLite版本3.8.5中添加,因此它不存在于您的系统中。如果你真的需要它,你可以将你的版本升级到更新的版本。

如果您不想/不能升级,您可以使用output命令,并在其后运行一条SQL命令以获得相同的效果。

1

.once的命令在SQLite的3壳是从version 3.8.5, circa June 2014。您的版本来自此命令之前的版本,因此“未知命令”错误。

要么找到一个上最新的SQLite包,或编译并从源安装的SQLite。

+0

好吧,我刚刚通过检查页面的其余部分来实现这一点。 –