PostgreSQL
 sql >> Teknologi Basis Data >  >> RDS >> PostgreSQL

Bagaimana cara menambahkan Kolom baru di tabel setelah kolom ke-2 atau ke-3 di Tabel menggunakan postgres?

Tidak, tidak ada cara langsung untuk melakukannya. Dan ada alasannya - setiap kueri harus mencantumkan semua bidang yang dibutuhkan dalam urutan apa pun (dan format, dll.) yang dibutuhkannya, sehingga membuat urutan kolom dalam satu tabel menjadi tidak signifikan.

Jika Anda benar-benar perlu melakukannya, saya dapat memikirkan satu solusi:

  • buang dan simpan deskripsi tabel yang dimaksud (menggunakan pg_dump --schema-only --table=<schema.table> ... )
  • tambahkan kolom yang Anda inginkan di tempat yang Anda inginkan dalam definisi yang disimpan
  • ganti nama tabel dalam definisi yang disimpan agar tidak berbenturan dengan nama tabel lama saat Anda mencoba membuatnya
  • buat tabel baru menggunakan definisi ini
  • isi tabel baru dengan data dari tabel lama menggunakan 'INSERT INTO <new_table> PILIH bidang1, bidang2, <default_for_new_field> , field3,... DARI <old_table> ';
  • ganti nama tabel lama
  • ganti nama tabel baru dengan nama aslinya
  • akhirnya lepaskan tabel lama yang telah diganti namanya setelah Anda memastikan semuanya baik-baik saja


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Cara menggunakan struktur data cincin di fungsi jendela

  2. Penyaringan Django JSONField

  3. Bagaimana cara membaca konten file .sql menjadi skrip R untuk menjalankan kueri?

  4. hibernate tidak bisa mendapatkan nilai urutan berikutnya

  5. Bagaimana cara melakukan pembaruan + bergabung di PostgreSQL?