2013-12-23 42 views
3

我輸入以下內容phpMyAdmin的工作:問題與臨時表

CREATE TEMPORARY TABLE test_table (
item1 VARCHAR(50) NOT NULL 
, item2 DECIMAL(12,2) NOT NULL DEFAULT 0.00 
, item3 DECIMAL(7,2) NOT NULL DEFAULT 0.00 
, item4 INT UNSIGNED NOT NULL DEFAULT 0); 

表創建成功。

然後我輸入下面的語句也進入phpMyAdmin的:

INSERT INTO test_table 
(item1, item2, item3, item4) 
VALUES 
('lentils', 99.00, 82, 8); 

我接受; 「#1146 - 表'mydatabase.test_table'不存在」 這裏有什麼不對的線索?

+0

我與MySQL 5.6.11上的臨時表具有完全相同的奇怪錯誤。任何運氣,2年後? – davide

+0

正如Deif指出的那樣,臨時表僅存在於當前查詢中。 – riverrunner

回答

0

我一直在尋找你的問題的一些答案,顯然,這是某種錯誤。

您需要刪除您的表,重新啓動您的MySQL服務並重新構建表。

您可以重命名錶格。

(這個固定的許多其他問題。)

來源:

Bug? #1146 - Table 'xxx.xxxxx' doesn't exist

SQL - AS - table doesn't exist - 1146

http://bytes.com/topic/mysql/answers/706253-table-doesnt-exist-but-im-sure-does

http://mysql-tools.com/articles/mysql/48-table-mysqlproc-doesnt-exist.html

http://ubuntuforums.org/showthread.php?t=2095602

編輯:

它可能是你的MySQL版本是 '已過期'。嘗試更新。

如果你的數據庫裏面phpMyAdmin的,使用phpMyAdmin導入「create_tables.sql」從phpMyAdmin的的例子文件夾 SRC:Source - Table-Doesn't-Exist

+0

我正在運行5.6.11版本,因此相當新近。我嘗試導入create_tables。SQL,並沒有解決問題,即使重新啓動後。有趣的是,如果我在phpMyAdmin的同一個命令窗口中運行上述兩個查詢,那麼它就可以工作。我認爲臨時表應該存在於整個連接中。 – riverrunner

+0

好的,我丟棄了數據庫,重新創建並重新啓動了mySQL服務。仍然沒有運氣,並得到完全相同的錯誤。謝謝,我確實檢查了列出的鏈接,但是我的問題是插入到TEMPORARY表中,列出的所有這些問題都是與普通表關聯的查詢。看起來好像這是其他用戶的獨立問題。接下來,我會嘗試更新,即使它只是一個小升級,然後我會嘗試在另一臺機器上進行另一次安裝。在此期間,任何人有更多的想法? – riverrunner

+0

@riverrunner啊,對不起,我無法幫助你走向河流。老實說,我從來沒有得到這個錯誤..-我發現的所有結果都在我的答案中。祝你好運! – Paramone

2

臨時表只存在於當前phpMyAdmin的查詢,因爲它關閉您的數據庫會話一旦執行完查詢。如果你分別執行這兩個查詢,那麼你會得到這個錯誤,因爲MySQL數據庫會在第一個查詢完成後立即刪除臨時表。

這是什麼原因?

原因是,您可以創建函數或過程來創建這些臨時表而不會堵塞數據庫,因爲一旦函數或過程完成執行後它們將自動刪除。

解決方法是在一個查詢中執行所有操作或只使用普通表。

+0

感謝您獲取關鍵信息 - 該表僅存在於當前查詢中。我的想法是,整個會議的桌子都存在。我一直想在另一個安裝中嘗試這個,因爲我認爲這是一個錯誤。只嘗試了兩個其他安裝和相同的結果。好的,現在我需要寫幾個程序......歡呼聲。 – riverrunner

+0

我不知道爲什麼這個問題沒有受到質疑,但聲明「臨時表只對當前查詢存在」。是不真實的,它持續目前的**會議**。請參閱http://dev.mysql.com/doc/refman/5.7/en/create-table.html#create-temporary-table,它表示:「TEMPORARY表僅對當前會話可見,並且會自動刪除屆時會議結束。「 Downvoted查看錯誤信息。 – enigment

+1

是的,但我的意思是爲phpmyadmin查詢(因爲這是問題),而不是MySql查詢,因爲phpmyadmin在執行查詢後關閉數據庫連接。但我會在答案中澄清這一點。 – Deif