當你建立臨時表的時候,你可以使用temporary關鍵字。如:
create temporary table tmp_table(name varchar(10) not null,passwd char(6) not null)『
或create temporary table if not exists sp_output_tmp engine = memory select …from … where id=current_id;
臨時表只在當前連線可見,當這個連線關閉的時候,會自動drop。這就意味著你可以在兩個不同的連線裡使用相同的臨時表名,並且相互不會衝突,或者使用 已經存在的表,但不是臨時表的表名。(當這個臨時表存在的時候,存在的表被隱藏了,如果臨時表被drop,存在的表就可見了)。建立臨時表你必須有
create temporary table 許可權。
下面幾點是臨時表的限制:
臨時表只能用在 memory,myisam,merge,或者innodb
臨時表不支援mysql cluster(簇)
在同乙個query語句中,你只能查詢一次臨時表。例如:下面的就不可用
mysql> select * from temp_table, temp_table as t2;
error 1137: can't reopen table: 'temp_table'
如果在乙個儲存函式裡,你用不同的別名查詢乙個臨時表多次,或者在這個儲存函式裡用不同的語句查詢,這個錯誤都會發生。
show tables 語句不會列舉臨時表
你不能用rename來重新命名乙個臨時表。但是,你可以alter table代替:
mysql>alter table orig_name rename new_name;
mysql臨時表更新 MySql 臨時表
今天在專案中遇到乙個,當mysql的in語句中資料量很大時,建立乙個臨時表的例子。於是樓主整理了一下關於臨時表的知識,與大家分享一下 首先,臨時表只在當前連線可見,當關閉連線時,mysql會自動刪除表並釋放所有空間。因此在不同的連線中可以建立同名的臨時表,並且操作屬於本連線的臨時表。建立臨時表 cr...
mysql怎麼是臨時表 MySQL臨時表
在本教程中,我們將討論mysql臨時表,並演示如何建立,使用和刪除臨時表。mysql臨時表簡介 在mysql中,臨時表是一種特殊型別的表,它允許您儲存乙個臨時結果集,可以在單個會話中多次重用。當使用join子句查詢需要單個select語句的資料是不可能或遇到瓶頸的時候,臨時表非常方便。在這種情況下,...
Mysql臨時表特性 解析Mysql臨時表及特點
臨時表是當連線沒有斷開時存在,一旦斷開就不會存在,臨時表的資料和結構都在記憶體中,可以做個測驗,你建立乙個臨時表,但是到響應的資料目錄下並不會找到.frm檔案 mysql create temporary table tmp table name varchar 10 not null,value ...