Rumah >pangkalan data >tutorial mysql >Bagaimanakah saya boleh mengubah suai Lajur PostgreSQL Tanpa Mencipta Semula Pandangan Bergantung?
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);
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!