Czy można utworzyć tabelę tymczasową (tylko sesyjną) z instrukcji select bez użycia instrukcji create table i określenia każdego typu kolumny? Wiem, że tabele pochodne są w stanie to zrobić, ale są one super-tymczasowe (tylko instrukcje) i chcę ponownie użyć.
Zaoszczędziłbym czas, gdybym nie musiał pisać polecenia tworzenia tabeli i dopasować listę kolumn i listy typów.
źródło
temporary
takcreate temporary table mytable as select ...
.create table t as select ... limit 0; alter table t engine=memory; insert into t select ...
. A może możesz zmienić „domyślny silnik nowych tabel”. Wyobrażam sobie, że można tego dokonać w zmiennej poziomu sesji. Jeszcze lepiej, użyj przycisku Zadaj pytanie w prawym górnym rogu.CREATE TEMPORARY TABLE IF NOT EXISTS table2 LIKE table1
jeśli nie chcesz kopiować danych, po prostuOprócz odpowiedzi psparrow, jeśli chcesz dodać indeks do tabeli tymczasowej:
Działa również z
PRIMARY KEY
źródło
Użyj tej składni:
źródło
Silnik musi być przed wyborem:
źródło
ENGINE=MEMORY
nie jest obsługiwane, gdy tabela zawieraBLOB
/TEXT
kolumnyźródło
źródło