Ist es möglich, eine temporäre Tabelle (nur für die Sitzung) aus einer select-Anweisung zu erstellen, ohne eine create table-Anweisung zu verwenden und jeden Spaltentyp zu spezifizieren? Ich weiß, dass abgeleitete Tabellen dazu in der Lage sind, aber diese sind sehr temporär (nur Anweisung) und ich möchte sie wiederverwenden.
Es würde Zeit sparen, wenn ich nicht einen Befehl zum Erstellen einer Tabelle schreiben und die Spaltenliste und die Typliste aufeinander abstimmen müsste.
CREATE TEMPORARY TABLE IF NOT EXISTS table2 AS (SELECT * FROM table1)
Aus dem Handbuch, das unter http://dev.mysql.com/doc/refman/5.7/en/create-table.html zu finden ist.
Sie können das Schlüsselwort TEMPORARY bei der Erstellung einer Tabelle verwenden. Eine TEMPORARY-Tabelle ist nur für die aktuelle Sitzung sichtbar und wird automatisch gelöscht, wenn die Sitzung geschlossen wird. Das bedeutet, dass zwei verschiedene Sitzungen denselben temporären Tabellennamen verwenden können, ohne dass es zu Konflikten untereinander oder mit einer bestehenden nicht-TEMPORARY-Tabelle desselben Namens kommt. (Die vorhandene Tabelle wird ausgeblendet, bis die temporäre Tabelle gelöscht wird.) Um temporäre Tabellen zu erstellen, müssen Sie über das Privileg CREATE TEMPORARY TABLES verfügen.
Verwenden Sie diese Syntax:
CREATE TEMPORARY TABLE t1 (select * from t2);