2012-06-21 34 views
10

我在放置臨時表時遇到問題。用戶帳戶不具有「放棄」權限。由於安全原因,我不想授予該特權。我試圖找到像'暫時放棄'的特權,但沒有。看來唯一的選擇是刪除所有'drop table'語句。我知道臨時表將在數據庫會話結束後自動刪除。但是,我不確定是否有任何副作用將此作業留給MySQL。請指教。是否有必要在mysql中刪除臨時表?

+0

如這裏所提到的,http://dev.mysql.com/doc/refman/5.1/en/privileges-provided.html#priv_create-temporary-tables _To保持特權暫時的,非臨時表分開,針對這種情況的常見解決方法是創建專用於臨時表的數據庫。那麼對於該數據庫,用戶可以被授予創建臨時表的權限,與(阿光,C3P0等)由user._ – Lucky

回答

15

臨時表,只要你從數據庫斷開連接自動掉線

臨時表可見只對當前連接,當連接關閉時自動刪除

http://dev.mysql.com/doc/refman/5.1/en/create-table.html

所以 - 創建它們,使用並不要打擾他們的刪除

+1

做如果使用連接池的臨時表操作,那麼你的連接所需的任何其他特權沿可能會比您期望的時間更長,所以要小心。在這種情況下手動刪除臨時表是有意義的。 – Alden

+1

@Alden正確配置軟件是非常有意義的,以便一切按預期工作。連接保持者必須重置客戶端斷開連接上的連接。 – zerkms

0

它將使用當前機器的Ram空間。 所以更好的辦法是砸在下一步的臨時表,一旦它的使用是在