Czy istnieje sposób na skopiowanie struktury tabeli do nowej tabeli bez danych, w tym wszystkich kluczy i ograniczeń?Skopiuj strukturę tabeli do nowej tabeli
Odpowiedz
Spójrz na pgAdmin - zdecydowanie najłatwiej zrobić to, co chcesz.
Kliknij prawym przyciskiem myszy tabelę, Skrypty - Utwórz.
Cóż, najbliżej można dostać się z SQL jest:
create table new (
like old
including defaults
including constraints
including indexes
);
Ale to nie kopiować wszystkiego. Najważniejsze rzeczy, których brakuje, to ZAGRANICZNE KLUCZE. Również - wyzwalacze również nie są kopiowane. Nie jestem pewien innych rzeczy.
Innym sposobem jest zrzucić strukturę tabeli, należy zmienić jego nazwę na wysypisko, i załadować go ponownie:
pg_dump -s -t old databases | sed 's/old/new/g' | psql
Ale uwaga, że takie uproszczone sed będzie również zmienić stare na nowe w innych miejscach (na przykład jeśli masz w kolumnie tabeli o nazwie "is_scolded", to stanie się "is_cnewed").
Pytanie brzmi raczej: dlaczego jest to potrzebne - ponieważ do różnych celów używałbym różnych technik.
Uwaga: 'zawierający ograniczenia' nie działa na PostgreSQL 8.3 – Ragnar123
Działa jak urok w Postgresie 9.3 :) – Ganapathy
Najlepsza odpowiedź. Po prostu pamiętaj, że jeśli masz "seryjną" wartość lub jakąś inną kolumnę przypisaną do sekwencji, użyje ona tej samej sekwencji co stara tabela! Więc jeśli wstawisz rzeczy do obu tabel, zwiększy się dla obu. – sudo
Aby uzyskać prostą kopię schematu, należy użyć klauzuli "like".
CREATE TABLE new_table_name (like old_table_name including all)
Jak o
CREATE TABLE sample_table_copy AS (SELECT * FROM sample_table WHERE 1 = 2)
Niestety, nie zachowuje to kluczy, wiązań ani ustawień domyślnych. – sudo
Lepszym sposobem na wyrażenie "WHERE 1 = 2" byłoby "WHERE false" lub brak klauzuli WHERE, ale zamiast tego "LIMIT 0". –
- 1. Skopiuj NSAttributedString do tabeli
- 2. Pokaż strukturę tabeli w SQL
- 3. Responsywna komórka tabeli do nowej linii
- 4. Jak utworzyć strukturę tabeli powiadomień na Facebooku?
- 5. Jak wydrukować strukturę tabeli z postgresql?
- 6. Jak można zobaczyć strukturę tabeli w SQLite?
- 7. MYSQL, Skopiuj wybrane pola z jednej tabeli do drugiej
- 8. Skopiuj wybrane wiersze do nowej macierzy
- 9. Dodawanie nowej tabeli do bazy danych po wykonaniu aplikacji raz
- 10. Jak przenieść wyniki zapytania UNION do nowej tabeli?
- 11. Wstawianie rekordów MySQL z wielu tabel do nowej tabeli
- 12. Wydajność bazy danych widoku w stosunku do nowej tabeli
- 13. MySQL - skręcić w tabeli do innej tabeli
- 14. Skopiuj cały katalog do folderu wyjściowego zachowując strukturę folderów?
- 15. Konwersja do tabeli partycjonowanej
- 16. Jak wyświetlić strukturę tabeli w zapytaniu SQL Server?
- 17. mysql: Kopiuj strukturę tabeli, w tym klucze obce
- 18. Jak uzyskać strukturę tabeli bazy danych w java?
- 19. Uprawnienia do obcinania tabeli
- 20. Stała szerokość pierwszej tabeli tabeli
- 21. Modyfikowanie wtyczki jQuery tabeli tabeli
- 22. tabeli wewnątrz tabeli w Lua
- 23. Przechowywanie członkostwa ASP.net i otwieranie użytkowników w nowej tabeli użytkowników
- 24. Migracja MySQL do tabeli o innej strukturze
- 25. Java lambdas: Skopiuj węzły z listy do nowej listy
- 26. Tworzenie nowej tabeli serwera sql za pomocą C#
- 27. Szybkie dodawanie kopii kolumny do tabeli MySQL
- 28. Wstaw odrębne wartości z jednej tabeli do innej tabeli
- 29. R: Dodaj kolumnę do tabeli z danymi z innej tabeli
- 30. SQL INSERT brakujące wiersze z tabeli A do tabeli B
Mam dostęp do phpPgAdmin tylko; Nie jestem właścicielem serwera. –
Wystarczająco fair. W phpPgAdmin: przejdź do tabeli, kliknij Eksportuj, wybierz "Tylko struktura" i masz swój skrypt – ChssPly76
Jestem prawie pewien, że musi to być błąd w tej instalacji - po prostu pokazuje pustą stronę w prawej ramce, kiedy to robię :/ –