mysql 臨時表 限制 Mysql臨時表

2021-10-17 22:20:42 字數 863 閱讀 6993

當你建立臨時表的時候,你可以使用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 ...