小编典典

在没有单独的 CREATE TABLE 的 SELECT 语句中创建临时表

all

是否可以在不使用 create table 语句并指定每个列类型的情况下从 select
语句创建临时(仅限会话)表?我知道派生表能够做到这一点,但那些是超级临时的(仅限语句),我想重用。

如果我不必编写创建表命令并保持列列表和类型列表匹配,这将节省时间。


阅读 121

收藏
2022-03-10

共1个答案

小编典典

CREATE TEMPORARY TABLE IF NOT EXISTS table2 AS (SELECT * FROM table1)

http://dev.mysql.com/doc/refman/5.7/en/create-
table.html找到的手册

创建表时可以使用 TEMPORARY 关键字。TEMPORARY 表 仅对当前会话可见 ,并在会话关闭时 自动删除。
这意味着两个不同的会话可以使用相同的临时表名,而不会相互冲突或与现有的同名非临时表冲突。(在删除临时表之前,现有表是隐藏的。)要创建临时表,您必须具有
CREATE TEMPORARY TABLES 特权。

2022-03-10