是否有可能从一个选择语句中创建一个临时(仅限会话)表,而不使用创建表语句并指定每个列的类型?我知道派生表能够做到这一点,但那些表是超临时的(只限于语句),我想重新使用。
如果我不需要写一个创建表的命令并保持列列表和类型列表的匹配,这将节省时间。
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权限。