SQLite 没有主数据库?

SQLite without main database?

我们有几对相互关联的数据库,即

db1a 和 db1b、2a 和 2b 等之间存在跨数据库连接

打开 sqlite 数据库连接,可以附加它们,即

ATTACH 'db1a' as a; ATTACH 'db1b' as b; 

并在需要时拆下并替换为其他对。

数据库"connection"应该如何创建,但是,因为最初没有真正的数据库可以附加?使用第一个作为主数据库赋予它更多的意义,这是没有意义的 - 因为它是不可分离的,所以它在以后是一个障碍。

我能看到的唯一方法是打开 :memory: 或临时 ('') 数据库连接。有更好的选择吗?

在没有更好选择的情况下,:memory:是最好的选择。 (:temp: 是普通文件名,在许多操作系统中无效;临时数据库将有一个空文件名。)

如果您有一些列出所有其他数据库的元数据库,您可以使用它。

请注意,当您有多个附加数据库时,对其中一个的任何更改都将涉及 multi-database 事务。 所以如果各个数据库对与其他不同编号的数据库没有任何关系,可以考虑为每个对使用一个新的连接。