是否可以从select语句创建临时(仅限会话)表,而不使用create table语句并指定每种列类型?我知道派生表可以做到这一点,但它们是超级临时的(仅限语句),我想重复使用.

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

推荐答案

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

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

创建表时可以使用临时关键字.临时表为visible only to the current session,会话关闭时为dropped automatically.这意味着两个不同的会话可以使用相同的临时表名,而不会相互冲突,也不会与相同名称的现有非临时表冲突.(在删除临时表之前,现有表是隐藏的.)要创建临时表,必须具有"创建临时表"权限.

Mysql相关问答推荐

MySQL过滤食谱上的多对多 - 成分表

限制正则​​表达式中多字符通配符的范围

用两个新列制作表格,按偶数或奇数对另一列进行分类,并将一个类别中的所有偶数和奇数相加

使用 MySQL 在树中查找“ Leaf”

无法在两个 mysql 表上执行内部联接

如何在sql中挑出某些名称

#1030 - 从存储引擎 Aria 收到错误 176“读取错误校验和的页面”

pip install mysqlclient 返回“致命错误 C1083:无法打开文件:'mysql.h':没有这样的文件或目录

MySQL 8.0 上的 phpMyAdmin

加载 MySQLdb 模块时出错“您安装了 mysqlclient 还是 MySQL-python?”

是否可以在 macOS 上只安装 mysqldump

org.hibernate.InstantiationException:没有实体的默认构造函数::principal.Cliente

#1273 – 未知排序规则:‘utf8mb4_unicode_520_ci’

无法在 ubuntu 16 上使用 --skip-grant-tables 重置 root 密码

创建或更新 Sequelize

如何在 localhost (xampp) 中打开/关闭 MySQL 严格模式?

Spring Boot JPA 使用 Hibernate 在 TABLE 中插入大写名称

#1055 - SELECT 列表的表达式不在 GROUP BY 子句中,并且包含非聚合列,这与 sql_mode=only_full_group_by 不兼容

mysqld:无法将目录更改为数据.服务器没有启动

“忽略对其他数据库的查询”命令行