Ist es möglich, eine temporäre Tabelle (nur Sitzung) aus einer select-Anweisung zu erstellen, ohne eine create table-Anweisung zu verwenden und jeden Spaltentyp anzugeben? Ich weiß, dass abgeleitete Tabellen dazu in der Lage sind, aber diese sind nur vorübergehend (nur Anweisungen) und ich möchte sie wiederverwenden.
Es würde Zeit sparen, wenn ich keinen Befehl zum Erstellen einer Tabelle schreiben und die Spaltenliste und die Typliste übereinstimmen müsste.
quelle
temporary
so hinzugefügtcreate temporary table mytable as select ...
.create table t as select ... limit 0; alter table t engine=memory; insert into t select ...
. Oder Sie können die "Standard-Engine für neue Tabellen" ändern. Ich stelle mir vor, dass dies in einer Variablen auf Sitzungsebene erfolgen kann. Besser noch, verwenden Sie die Schaltfläche Frage stellen oben rechts.CREATE TEMPORARY TABLE IF NOT EXISTS table2 LIKE table1
wenn SieZusätzlich zur Antwort von psparrow, wenn Sie Ihrer temporären Tabelle einen Index hinzufügen müssen, gehen Sie wie folgt vor :
Es funktioniert auch mit
PRIMARY KEY
quelle
Verwenden Sie diese Syntax:
quelle
Motor muss vor Auswahl sein:
quelle
ENGINE=MEMORY
wird nicht unterstützt, wenn die TabelleBLOB
/TEXT
Spalten enthältquelle
quelle