Est-il possible de créer une table temporaire (session uniquement) à partir d'une instruction select sans utiliser une instruction create table et sans spécifier chaque type de colonne? Je sais que les tables dérivées sont capables de cela, mais celles-ci sont super-temporaires (instruction uniquement) et je veux les réutiliser.
Cela gagnerait du temps si je n'avais pas à écrire une commande de création de table et à conserver la liste des colonnes et la liste des types correspondant.
la source
temporary
ainsicreate temporary table mytable as select ...
.create table t as select ... limit 0; alter table t engine=memory; insert into t select ...
. Ou, vous pouvez peut-être changer le "moteur par défaut des nouvelles tables". J'imagine que cela peut être fait dans une variable de niveau session. Mieux encore, utilisez le bouton Poser une question en haut à droite.CREATE TEMPORARY TABLE IF NOT EXISTS table2 LIKE table1
si vous ne voulez pas copier les données, structurez simplementEn plus de la réponse de psparrow si vous devez ajouter un index à votre table temporaire, faites:
Il fonctionne également avec
PRIMARY KEY
la source
Utilisez cette syntaxe:
la source
Le moteur doit être avant de sélectionner:
la source
ENGINE=MEMORY
n'est pas pris en charge lorsque la table contientBLOB
/TEXT
colonnesla source
la source