首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >sqlite 3中的数据库角色切换

sqlite 3中的数据库角色切换
EN

Stack Overflow用户
提问于 2014-11-06 07:05:59
回答 1查看 381关注 0票数 1

我正在做一些应用程序(遗留代码),它基本上扫描设备的歌曲和提供浏览。

现在,为了提高某些特性的性能,需要使用3个数据库,如下所示:

我使用的是sqlite3,我打开一个数据库会话并附加另外两个数据库。

现在,如果您在没有附加别名的情况下触发SQL查询,比如SELECT * FROM songs;,它将选择别名main的数据库。

遗留浏览器模块具有所有这样的SQL查询(没有附加数据库别名,我无法更改它们,因此它们将继续使用别名main的数据库。

解决方案是在需要时将别名main分配给适当的数据库。

我的问题是:

  1. 我可以为附加的数据库指定别名main (一次一个)吗?如果是,怎么做?
  2. 或者,是否有更好的解决方案使我可以更改所使用的默认DB?
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-11-06 07:51:15

不可能更改已附加的数据库(包括main)的数据库名称。

然而,文档说:

如果不同数据库中的两个或多个表具有相同的名称,并且在表引用上不使用数据库名称前缀,那么所选择的表就是最近附加的数据库中的表。

因此,您可以做的是打开一些空数据库作为主数据库(只需使用:memory:),并按照所需的顺序附加其他三个数据库。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26773590

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档