什么是mysql臨時表?
MySQL臨時表是一個似乎與普通表一樣的表格,但它有一個關鍵限制,即只在建表語句所在的數據庫連接中存在。一旦連接終止,臨時表將自動刪除。
如何創建一個mysql臨時表?
創建臨時表的方法與創建普通表類似,一個重要的區別是在表名或別名前加上關鍵字TEMPORARY或TEMP。例如:
CREATE TEMPORARY TABLE table_name (
column1 datatype,
column2 datatype,
...
);
臨時表的列字段長度有什么限制?
MySQL對臨時表的列字段長度有一定的限制。在MySQL 5.6版本之前,臨時表的列字段長度受max_allowed_packet系統變量的限制,默認值為1MB。如果在創建臨時表時列長超過了這個限制,就會收到“Packet too large”的錯誤提示。
在MySQL 5.6版本及之后的版本中,max_allowed_packet的默認值已經升級為64MB,因此在創建臨時表時不太可能受到列長限制的影響。不過,如果需要創建包含大量文本或二進制數據的臨時表,最好還是增加max_allowed_packet的值。