mysql 臨時表 cann't reopen解決方案
更新時間:2012年11月25日 13:24:49 作者:
MySql關(guān)于臨時表cann't reopen的問題,本文將提供詳細的解決方案,需要了解的朋友可以參考下
當(dāng)你創(chuàng)建臨時表的時候,你可以使用temporary關(guān)鍵字。如:
復(fù)制代碼 代碼如下:
create temporary table tmp_table(name varchar(10) not null,passwd char(6) not null);
或
復(fù)制代碼 代碼如下:
create temporary table if not exists sp_output_tmp engine= memory select …from … where ID=current_id;
臨時表只在當(dāng)前連接可見,當(dāng)這個連接關(guān)閉的時候,會自動drop。這就意味著你可以在兩個不同的連接里使用相同的臨時表名,并且相互不會沖突,或者使用 已經(jīng)存在的表,但不是臨時表的表名。(當(dāng)這個臨時表存在的時候,存在的表被隱藏了,如果臨時表被drop,存在的表就可見了)。創(chuàng)建臨時表你必須有
create temporary table 權(quán)限。
下面幾點是臨時表的限制:
1、臨時表只能用在 memory,myisam,merge,或者innodb
2、臨時表不支持mysql cluster(簇)
3、在同一個query語句中,你只能查找一次臨時表。例如:下面的就不可用
復(fù)制代碼 代碼如下:
mysql> SELECT * FROM temp_table, temp_table AS t2;
ERROR 1137: Can't reopen table: 'temp_table'
mysql bug地址:http://bugs.mysql.com/bug.php?id=10327
如果在一個存儲函數(shù)里,你用不同的別名查找一個臨時表多次,或者在這個存儲函數(shù)里用不同的語句查找,這個錯誤都會發(fā)生。
4、show tables 語句不會列舉臨時表
你不能用rename來重命名一個臨時表。但是,你可以alter table代替:
復(fù)制代碼 代碼如下:
mysql>ALTER TABLE orig_name RENAME new_name;
臨時表用完后要記得drop掉:
復(fù)制代碼 代碼如下:
DROP TEMPORARY TABLE IF EXISTS sp_output_tmp;
相關(guān)文章
mysql 5.7.17 安裝教程 附MySQL服務(wù)無法啟動的解決方法
這篇文章主要為大家詳細介紹了mysql 5.7.17安裝教程,并且為大家分享了MySQL服務(wù)無法啟動的解決方法,具有一定的參考價值,感興趣的小伙伴們可以參考一下2017-03-03MySQL中BIGINT數(shù)據(jù)類型如何存儲整數(shù)值
mysql數(shù)據(jù)庫設(shè)計,其中對于數(shù)據(jù)性能優(yōu)化,字段類型考慮很重要,下面這篇文章主要給大家介紹了關(guān)于MySQL中BIGINT數(shù)據(jù)類型如何存儲整數(shù)值的相關(guān)資料,文中通過實例代碼介紹的非常詳細,需要的朋友可以參考下2022-10-10MySQL中distinct和group?by去重效率區(qū)別淺析
distinct 與 group by均可用于去重,下面這篇文章主要給大家介紹了關(guān)于MySQL中distinct和group?by去重效率區(qū)別的相關(guān)資料,文中介紹的非常詳細,需要的朋友可以參考下2023-03-03mysql創(chuàng)建用戶并賦予用戶權(quán)限詳細操作教程
這篇文章主要給大家介紹了關(guān)于mysql創(chuàng)建用戶并賦予用戶權(quán)限詳細操作的相關(guān)資料,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-12-12關(guān)于MySQL主從復(fù)制的幾種復(fù)制方式總結(jié)
這篇文章主要給大家介紹了關(guān)于MySQL主從復(fù)制的幾種復(fù)制方式,文中通過示例代碼介紹的非常詳細,對大家學(xué)習(xí)或者使用MySQL具有一定的參考學(xué)習(xí)價值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧2020-08-08Centos6.5 編譯安裝mysql 5.6.16 詳細教程
這篇文章主要為大家分享了Centos6.5編譯安裝mysql 5.6.16詳細教程,感興趣的小伙伴們可以參考一下2016-08-08