如何检查 sqlite 数据库是否已附加
How to check whether sqlite database is attached or not?
我正在使用sqlite来存储我的数据。我有两个数据库。在我的应用程序中,每次有新请求出现时,我都会将第一个数据库附加到第二个数据库。问题是,如果有两个请求来了,它会显示已经在使用的数据库(它试图使用相同的别名"db"附加两次)。我想知道是否有任何方法可以检查数据库是否已附加?
PRAGMA database_list;
输出包含可用数据库完整列表的结果集。 第一列是数据库名称,第二列是数据库文件(如果未与文件关联,则为空)。主数据库始终命名为main
,临时数据库始终temp
。
sqlite> attach "foo.db" as foo;
sqlite> pragma database_list;
0|main|
2|foo|/Users/me/tmp/foo.db
我假设您正在为多个请求重用与数据库的相同连接。由于数据库附加到连接对象,因此对于具有相同连接的第二个或进一步请求,附加将失败。因此,我认为解决方案是在建立新连接后立即附加数据库,而不是每次收到请求时都附加数据库。
相关文章:
- 在提升multi_index容器中,是否定义了"default index"?
- 在C++STL中是否有Polyval(Matlab函数)等价物?
- 确定 SQLite 数据库是否已锁定
- 是否可以在 sqlite3 中READ_ONLY数据库切换到 WAL 日记模式
- 如何检查数据库字段是否为空
- 如何检查数据库是否存在
- 假设sqlite3_exec数据库指针不更改其值是否为保存
- 是否允许在同一 Sqlite 数据库连接中启动多个事务
- 我的 c++ 程序是否会从世界各地的计算机(在我的局域网之外)连接到本地 MySQL 数据库
- 如何检查 sqlite 数据库是否已附加
- 是否可以以编程方式将 SQLite 数据库转换为 C/C++ 中的 SQL 语句
- 当从应用程序多次调用数据库过程时,性能是否会受到影响
- 是否可以使用SOCI c++数据库访问库管理表关系
- 现有的数据库(最好是嵌入式数据库)是否支持大型小型多维搜索?
- 是否有一种方法可以从sqlite3对象获得数据库位置
- 是否可以以只读模式连接到内存中的sqlite数据库?
- 当在数据库上保存json格式的字符串时,我是否也应该保存值的类型以便稍后转换回来
- 如何检查SQLite数据库是否在C/ c++中打开
- 是否存在轻量级和无需安装的数据库系统
- 数据库连接是否可以重用