2016-04-15 82 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)中找到了臨時文件,但這些文件的狀態是隱藏的。 –