MySQL全局臨時表是一種臨時創(chuàng)建的表,其可在整個數(shù)據(jù)庫服務(wù)器中使用。全局臨時表在當(dāng)前數(shù)據(jù)庫連接關(guān)閉后,自動刪除。
CREATE TABLE `temp_table` ( `id` int(11) NOT NULL AUTO_INCREMENT, `name` varchar(50) NOT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
以上是創(chuàng)建全局臨時表的SQL語句。需要注意的是,全局臨時表的命名方式為#表名
,其中#
是必須的。使用全局臨時表需要擁有CREATE TEMPORARY TABLES權(quán)限。
全局臨時表的查詢與普通表并無區(qū)別,只需使用#表名
來引用臨時表即可。
SELECT * FROM `#temp_table`;
全局臨時表的使用場景主要是在需要共享臨時數(shù)據(jù)的情況下,例如在多個存儲過程中使用同一張臨時表。
總的來說,全局臨時表是一種非常方便的工具,可以在某些情況下節(jié)省開發(fā)者的時間和精力。