É possível criar uma tabela temporária (somente sessão) a partir de uma instrução select sem usar uma instrução create table e especificar cada tipo de coluna? Eu sei que tabelas derivadas são capazes disso, mas essas são super-temporárias (somente declaração) e quero reutilizá-las.
Isso economizaria tempo se eu não precisasse escrever um comando create table e manter a lista de colunas e a lista de tipos correspondentes.
fonte
temporary
assimcreate temporary table mytable as select ...
.create table t as select ... limit 0; alter table t engine=memory; insert into t select ...
. Ou talvez você possa alterar o "mecanismo padrão de novas tabelas". Eu imagino que isso possa ser feito em uma variável no nível da sessão. Melhor ainda, use o botão Fazer pergunta no canto superior direito.CREATE TEMPORARY TABLE IF NOT EXISTS table2 LIKE table1
se você não quiser copiar dados, estrutura apenasAlém da resposta do psparrow, se você precisar adicionar um índice à sua tabela temporária, faça:
Também trabalha com
PRIMARY KEY
fonte
Use esta sintaxe:
fonte
O mecanismo deve estar antes de selecionar:
fonte
ENGINE=MEMORY
não é suportado quando a tabela contémBLOB
/TEXT
colunasfonte
fonte