¿Es posible crear una tabla temporal (sólo de sesión) a partir de una sentencia select sin utilizar una sentencia create table y especificar cada tipo de columna? Sé que las tablas derivadas son capaces de hacerlo, pero esas son supertemporales (sólo de sesión) y quiero reutilizarlas.
Ahorraría tiempo si no tuviera que escribir un comando create table y mantener la lista de columnas y la lista de tipos emparejadas.
CREATE TEMPORARY TABLE IF NOT EXISTS table2 AS (SELECT * FROM table1)
Del manual que se encuentra en http://dev.mysql.com/doc/refman/5.7/en/create-table.html
Puede utilizar la palabra clave TEMPORARY al crear una tabla. Una tabla TEMPORAL es visible sólo para la sesión actual, y se desaparece automáticamente cuando se cierra la sesión. Esto significa que dos sesiones diferentes pueden utilizar el mismo nombre de tabla temporal sin entrar en conflicto entre sí o con una tabla no TEMPORAL existente del mismo nombre. (La tabla existente se oculta hasta que se elimina la tabla temporal). Para crear tablas temporales, debe tener el privilegio de CREAR TABLAS TEMPORALES.