Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [SQL] tworzenie i kopiowanie tabeli
Forum PHP.pl > Forum > Przedszkole
lamcpp
Witam,
mam tabele o różnych nazwach, które mają wspólną końcówkę (_test)
Kod
tabela1_test,
inna_tabela_test
jeszcze_inna_test

W jaki sposób na podstawie powyższych tabel stworzyć nowe tabele z identyczną strukturą i identycznymi wartościami, z tą różnicą że nazwa będzie miała na końcu: (_new)
czyli:
Kod
tabela1_new
inna_tabela_new
jeszcze_inna_new


wiem, że wartości tabel mogę skopiować do nowej tabeli za pomocą zapytania:
Kod
INSERT INTO tabela1_new SELECT * FROM tabela1_test

ale jak stworzyć tabelę z identyczną strukturą (poza tworzeniem manualnym za pomocą CREATE TABLE...). Bardziej tu chodzi jak skopiować strukturę tabeli wraz z jednoczesnym jej tworzeniem ?
nospor
SHOW CREATE TABLE nazwa_tabeli

zwroci ci kod sql tworzacy wybraną tabele. Wystarczy ze to odbierzesz, zmienisz nazwe tabeli na swoją i sru
Kshyhoo
  1. CREATE TABLE tabela_new LIKE tabela_test
mmmmmmm
CREATE TABLE now_tabela AS SELECT * FROM stara_tabela;

Tu też jest MySQL-owy wyjątek, bo inne bazy mają SELECT * INTO...
nospor
@mmmmmm tylko ze twoje rozwiazanie nie tworzy indeksow w nowej tablicy.

Lepsze jest wiec to co podal Kshyhoo, ktore tworzy dokładną kopie pod wzgledem struktury/indeskow, a nastepnie skopiowanie rekordow
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.