如何打开SQLite3数据库而不冒冒险创建新的数据库?
问题描述:
如果我不小心将不存在的数据库文件传递给sqlite3
,我希望收到错误消息或类似的通知。如何打开SQLite3数据库而不冒冒险创建新的数据库?
但是命令sqlite3 my.db
将打开my.db
或如果它不存在,则创建它。
> sqlite3
sqlite> .open my.db
如果要打开,我传递一个数据库文件的选项,但如果失败了它不存在:如果我发出以下相同的行为存在?
答
在SQLite C API中,函数sqlite3_open_v2将允许您指定是否要创建新的数据库。
sqlite3
命令行shell总是指定CREATE标志,并且没有任何机制来禁用它。
您可以执行如.dbinfo
这样的命令来检查您是否确实拥有数据库,或者在实际执行sqlite3
之前编写一个用于检查文件的shell脚本/批处理文件。
答
您可以检查文件系统上是否存在该文件。
这就是我现在在做的。所以答案是“不,没有选择”? – sargas
当我遇到同样的问题时,我没有找到选项。 – Jedi