如果我不小心将不存在的数据库文件传递给sqlite3
,我希望收到错误或类似内容的通知。
但是命令sqlite3 my.db
将打开my.db
或如果它不存在则创建它。如果我发出以下内容,则存在相同的行为:
> sqlite3
sqlite> .open my.db
如果有一个选项我将数据库文件传递给但是如果它不存在则会失败?
答案 0 :(得分:0)
您可以检查文件系统上是否存在该文件。
答案 1 :(得分:0)
在SQLite C API中,函数sqlite3_open_v2允许您指定是否要创建新数据库。
sqlite3
命令行shell始终指定CREATE标志,并且没有禁用它的机制。
您可以执行.dbinfo
之类的命令来检查您是否确实拥有数据库,或者在实际执行sqlite3
之前编写一个检查文件的shell脚本/批处理文件。