如何检查sqlite数据库是否已附加?

San*_*ndy 4 c++ sqlite

我正在使用 sqlite 来存储我的数据。我有两个数据库。在我的应用程序中,每次出现新请求时,我都会将第一个 db 附加到第二个 db。问题是,如果有两个请求,它显示数据库已经在使用中(它试图用相同的别名“db”附加两次)。我想知道是否有任何方法可以检查是否附加了数据库?

ham*_*ene 6

PRAGMA database_list;
Run Code Online (Sandbox Code Playgroud)

输出带有可用数据库完整列表的结果集。第一列是数据库名称,第二列是数据库文件(如果与文件无关,则为空)。主数据库总是命名的main,临时数据库总是命名的temp

sqlite> attach "foo.db" as foo;
sqlite> pragma database_list;
0|main|
2|foo|/Users/me/tmp/foo.db
Run Code Online (Sandbox Code Playgroud)