2016-04-15 40 views
0

我使用下面的查询创建了临时表。如何在Windows中使用sqlite查找创建的临时表?

CREATE TEMPORARY TABLE SALESSUMMARY (product_name VARCHAR(50) NOT NULL, total_sales DECIMAL(12,2) NOT NULL DEFAULT 0.00, avg_unit_price DECIMAL(7,2) NOT NULL DEFAULT 0.00, total_units_sold INT UNSIGNED NOT NULL DEFAULT 0) 

上面查询执行。 数据库文件中不存在上表。 如何在Windows中找到位置/路径“Temp Table/Temp database”

在此先感谢。

+0

这是暂时的,所以它甚至可能不会保存到磁盘。你需要什么? –

+0

我必须在Windows中找到TempTable/Temp数据库的路径。 –

+0

这不回答我的问题。 –

回答

2

有可能临时表可能根本不写入磁盘。从SQLite的docs

这些临时表,连同任何相关的索引,触发器和 意见,集中存储在被尽快第一“创建临时表”创建一个单独的临时数据库文件 声明是 见过。

与事务控制相关的临时文件(即 回滚日志,主日志,预写日志(WAL)文件和共享内存文件)始终写入磁盘。但临时文件的其他种类 可能仅存储在内存中,并且从未写入 磁盘。回滚, master和语句日志是否写入磁盘或仅存储在 内存中的临时文件是否取决于SQLITE_TEMP_STORE编译时参数, temp_store编译指示以及临时文件的大小。

如果你没有看到在相同的位置DB或在临时文件夹中的临时文件(S)(其中的变化取决于Windows版本?),很可能没有文件,这SQLite的正在将它存储在内存中。

+0

SQLite调用[GetTempPath](https://msdn.microsoft.com/en-us/library/windows/desktop/aa364992.aspx)。 –

+0

谢谢,迈克尔。我在默认的临时文件夹(Windows)中找到了临时文件,但这些文件的状态是隐藏的。 –