Rumah > pangkalan data > tutorial mysql > Bagaimanakah saya boleh mengubah suai Lajur PostgreSQL Tanpa Mencipta Semula Pandangan Bergantung?

Bagaimanakah saya boleh mengubah suai Lajur PostgreSQL Tanpa Mencipta Semula Pandangan Bergantung?

Mary-Kate Olsen
Lepaskan: 2025-01-01 07:46:10
asal
680 orang telah melayarinya

How Can I Modify PostgreSQL Columns Without Recreating Dependent Views?

Pengubahsuaian Lajur PostgreSQL yang Santai dalam Paparan

PostgreSQL memastikan integriti data dengan memerlukan paparan dicipta semula apabila lajur yang digunakan di dalamnya diubah suai. Walau bagaimanapun, ini boleh menyusahkan apabila anda ingin melaraskan lajur sahaja tanpa menjejaskan paparan.

Penyelesaian Tetap: Menggunakan Jenis Data Tidak Terhad

Untuk mengelakkan isu ini sepenuhnya, gunakan data jenis seperti teks atau varchar / aksara yang berbeza-beza tanpa penentu panjang. Jenis ini membenarkan penyimpanan data tanpa had, menghapuskan keperluan untuk perubahan panjang yang memerlukan rekreasi paparan.

Menguatkuasakan Panjang Maksimum dengan Kekangan SEMAK

Jika anda memerlukan penguatkuasaan panjang maksimum, pertimbangkan untuk menggunakan kekangan CHECK:

ALTER TABLE monkey ADD CONSTRAINT monkey_name_len CHECK (length(name) < 101);
Salin selepas log masuk

Kekangan ini boleh diubah suai atau dialih keluar secara bebas, tanpa menjejaskan paparan atau memaksa pengubahsuaian data yang tidak diperlukan dalam jadual asas.

Impak Pelaksanaan Paparan

Bertentangan dengan kepercayaan popular, paparan dalam PostgreSQL bukanlah alias semata-mata tetapi jadual khas dengan peraturan yang menentukan kandungannya. Peraturan ini, yang dikuatkuasakan oleh penyataan ON SELECT, memastikan bahawa sebarang perubahan pada objek asas mungkin perlu ditunjukkan dalam paparan bergantung.

Penghadan ALTER VIEW

ALTER VIEW boleh hanya mengubah suai atribut tambahan pandangan, seperti kebenaran atau ulasan. Untuk mengubah pertanyaan asas, gunakan CREATE OR REPLACE VIEW. Walau bagaimanapun, kaedah ini tidak sesuai apabila menukar jenis data lajur yang terhasil.

Menggugurkan dan Mencipta Semula Paparan

Dalam kes sedemikian, pendekatan pilihan adalah dengan MENGGUGURKAN paparan sedia ada dan BUAT yang baharu. Ini mengekalkan data asas tetapi menghapuskan sebarang atribut tersuai yang dikaitkan dengan paparan.

Atas ialah kandungan terperinci Bagaimanakah saya boleh mengubah suai Lajur PostgreSQL Tanpa Mencipta Semula Pandangan Bergantung?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan