Bir tablonun yapısını tüm anahtarlar ve kısıtlamalar dahil olmak üzere veri olmadan yeni bir tabloya kopyalamanın bir yolu var mı?Tablo yapısını yeni tabloya kopyalama
cevap
pgAdmin'a bir göz atın - ne istediğinizi yapmanın en kolay yolu.
Tabloya sağ tıklayın, Komut Dosyaları - Oluştur.
create table new (
like old
including defaults
including constraints
including indexes
);
Ama hergün kopyalamak olmaz:
Eh, SQL ile alabilirsiniz yakın olduğunu. Eksik olan en önemli şeyler YABANCI tuşlardır. Ayrıca - tetikleyiciler de kopyalanmaz. Başka şeyler hakkında emin değilim.
başka yolu da, masa yapısını dökümü o çöplükte isim değiştirmek ve yeniden yüklemek için:
pg_dump -s -t old databases | sed 's/old/new/g' | psql
Ancak dikkat bu örneğin (ayrıca diğer yerlerde eskiden yeniye değişecek sed basit "is_scolded" isimli sütununda varsa "is_scnewed" olur.
Asıl soru şudur: neden buna ihtiyacınız var - çünkü farklı amaçlar için farklı teknikler kullanırdım.
Not: 'kısıtlamalar dahil' PostgreSQL 8.3 üzerinde çalışmaz – Ragnar123
Postgres 9.3'te bir çekicilik gibi çalışmış :) – Ganapathy
En iyi cevap. Sadece bir "seri" değeri veya bir diziye varsayılan başka bir sütun varsa, eski tablo ile aynı diziyi kullanacağını unutmayın! Bu nedenle, her iki tablonun içine bir şeyler eklerseniz, her ikisi için de artar. – sudo
Basit bir şema kopyası için benzer bir deyim kullanın.
CREATE TABLE new_table_name (like old_table_name including all)
Nasıl
hakkındaCREATE TABLE sample_table_copy AS (SELECT * FROM sample_table WHERE 1 = 2)
Maalesef, bu anahtarlar, kısıtlamalar veya varsayılan değerleri korumaz. – sudo
'WHERE 1 = 2' ifadesini ifade etmenin daha iyi bir yolu 'WHERE false' ya da WHERE deyimi olmamakla birlikte 'LIMIT 0' olacaktır. –
- 1. Verileri başka bir tabloya kopyalama
- 2. bir nesnenin yapısını kopyalama (ancak veriler değil)
- 3. Dizin yapısını rake ile koruyarak dosya kopyalama
- 4. İçeriden dosya adları ile dizin yapısını kopyalama
- 5. Tablo sütunlarını ortak sütunlarla kopyalama
- 6. Farklı verilerle aynı iki tablo yapısını birleştir
- 7. MySQL aracı veya tablo yapısını öneren sorgu
- 8. Get Açıklama Tabloya Göre Açıklama Tablo
- 9. Tablo zaten mevcut olduğundan tabloya eklenemiyor mu?
- 10. Alt sorgudaki türetilmiş tablo ana tabloya erişemiyor
- 11. Kopyalama
- 12. Yeni oluşturulmuş tablo hücresi jquery
- 13. Yeni tablo oluştur seçeneği,
- 14. Listenin bir bölümünü yeni bir listeye kopyalama
- 15. Kopyalama, kopyalama veya kopyalama UIView
- 16. Numaralandırma değerlerini yeni bir tabloya normalize etmeye değer mi?
- 17. Varsayılan kesme, kopyalama, bir tablo görünümünde UIMENuController'dan yapıştırma
- 18. Bir SQL sorgusuyla veri olmadan mysql tablo yapısını nasıl dökümlerim?
- 19. Cassandra CQL tablo yapısını keşfetmenin bir yolu var mı?
- 20. AJAX: tabloya yeni satır ekle veya AJAX kullanarak kaldır veya
- 21. WebSQL ile Çalışmak. Mevcut tabloya yeni sütun nasıl eklenir?
- 22. Raylarda Ruby'de yeni Tablo oluştur
- 23. Mercurial dizin yapısını değiştirme
- 24. Kopya kopyalama - işaretçi değeri kopyalama
- 25. memcpy kendi kendine kopyalama kopyalama
- 26. Oracle'da başka bir şemadaki tablo form şemasını kopyalama
- 27. Tablo satırının klonunu oluşturun ve JavaScript'e tabloya ekleyin
- 28. SQL Server'daki bir tabloya tablo sütunundan XML aktarma
- 29. NotesDbAdapter örneği bir tablo için, birden fazla tabloya ne dersiniz?
- 30. Hibernate JPA, birden çok tabloya katılıyor
Sadece phpPgAdmin erişemeyecek Sunucu bende değil. –
Yeterince adil. PhpPgAdmin'de: tabloya gidin, Dışa Aktar'ı tıklatın, "Yapı Sadece" yi seçin ve komut dosyanızın var – ChssPly76
Eminim bu yüklemede bir hata olması gerekir - bunu yaptığımda doğru çerçevede sadece boş bir sayfa gösteriliyor :/ –