Jika saya memiliki tabel dengan kolom:
id | name | created_date
dan ingin menambahkan kolom, saya menggunakan:
alter table my_table add column email varchar(255)
Kemudian kolom ditambahkan setelah created_date
kolom.
Apakah ada cara saya dapat menentukan posisi untuk kolom baru? misalnya jadi saya bisa menambahkannya setelah itu name
dan mendapatkan tabel seperti:
id | name | email | created_date
postgresql
database-design
Jonas
sumber
sumber
view
acara itu dalam urutan itu ... secara teknis posisi kolom tidak menjadi masalah karena Anda dapat mendefinisikannya dalam urutan apa pun dalam kueri ... dan Anda biasanya tidak boleh melakukanselect *
psql -E
sakelar untuk melihat kueri yang sebenarnya)Jawaban:
ALTER TABLE ADD COLUMN
hanya akan menambahkan kolom baru di akhir, sebagai yang terakhir. Untuk membuat kolom baru di posisi lain, Anda perlu membuat ulang tabel dan menyalin data dari tabel lama / saat ini di tabel baru ini.sumber
Anda harus membuat ulang tabel jika Anda menginginkan pesanan tertentu. Lakukan sesuatu seperti:
Buat indeks sesuai kebutuhan dll.
sumber
Jika Anda menginginkan ini hanya untuk penampilan, saya merasa lebih mudah untuk menjaga tampilan per setiap tabel dengan urutan kolom yang diinginkan, dan memilih dari itu daripada tabel.
Untuk semua tujuan lain (seperti menyisipkan, penyatuan) lebih baik untuk selalu menentukan daftar kolom.
sumber