2016-08-17 67 views
1

如果我不小心将不存在的数据库文件传递给sqlite3,我希望收到错误消息或类似的通知。如何打开SQLite3数据库而不冒冒险创建新的数据库?

但是命令sqlite3 my.db将打开my.db如果它不存在,则创建它。

> sqlite3 
sqlite> .open my.db 

如果要打开,我传递一个数据库文件的选项,但如果失败了它不存在:如果我发出以下相同的行为存在?

回答

0

在SQLite C API中,函数sqlite3_open_v2将允许您指定是否要创建新的数据库。

sqlite3命令行shell总是指定CREATE标志,并且没有任何机制来禁用它。

您可以执行如.dbinfo这样的命令来检查您是否确实拥有数据库,或者在实际执行sqlite3之前编写一个用于检查文件的shell脚本/批处理文件。

0

您可以检查文件系统上是否存在该文件。

+0

这就是我现在在做的。所以答案是“不,没有选择”? – sargas

+1

当我遇到同样的问题时,我没有找到选项。 – Jedi