2016-08-17 46 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