Keluarkan NOT NULL Constraint dalam Postgres

Keluarkan Not Null Constraint Dalam Postgres



Dalam pangkalan data hubungan seperti PostgreSQL, kekangan adalah penting dalam mengekalkan integriti data dan menguatkuasakan peraturan khusus pada lajur jadual. Satu kekangan tersebut ialah kekangan 'NOT NULL'. Dalam tutorial ini, kami akan meneroka konsep kekangan NOT NULL dan menyediakan panduan langkah demi langkah untuk mencipta dan mengalih keluarnya dalam PostgreSQL.

Apakah Kekangan NOT NULL?

Kekangan NOT NULL memastikan bahawa lajur tidak boleh mengandungi nilai nol yang memerlukan setiap baris dalam jadual mempunyai nilai bukan nol untuk lajur tertentu itu.

Keperluan Tutorial:

Untuk mengikuti arahan yang diberikan dalam siaran ini, kami menganggap anda mempunyai keperluan berikut:







  1. Pelayan PostgreSQL dipasang pada mesin anda
  2. Pengetahuan asas SQL
  3. Kebenaran untuk mencipta objek jadual pangkalan data seperti kekangan, fungsi, dll

Contoh Jadual:

Mari kita mulakan dengan menyediakan jadual sampel dengan lajur yang mengandungi kekangan bukan nol. Ambil penyataan jadual cipta berikut yang menyediakan jadual asas yang menyerupai jadual wp_users dalam WordPress:



BUAT JADUAL wp_users (
KUNCI UTAMA SIRI ID,
log masuk pengguna VARCHAR(60) BUKAN NULL,
pas_pengguna VARCHAR(255) BUKAN NULL,
nama_pengguna VARCHAR(50) BUKAN NULL,
e-mel pengguna VARCHAR(100) BUKAN NULL,
url_pengguna VARCHAR(100),
TIMESTAMP yang didaftarkan pengguna BUKAN NULL lalai cap_masa semasa,
kunci_pengaktifan_pengguna VARCHAR(255),
status_pengguna INT BUKAN NULL LALAI 0,
paparan_nama VARCHAR(250) BUKAN NULL
);

Daripada pertanyaan yang diberikan, anda akan melihat bahawa kebanyakan lajur mengandungi kekangan NOT NULL.



Kaedah yang paling berkesan untuk mencipta kekangan NOT NULL dalam lajur tertentu adalah semasa penciptaan jadual. Ini memastikan bahawa semua data yang ditambahkan pada jadual mematuhi peraturan kekangan.





Walau bagaimanapun, jika anda menambah kekangan pada jadual sedia ada, peraturan hanya digunakan pada data yang ditambahkan selepas kekangan dan bukan pada mana-mana data sedia ada. Ini boleh menyebabkan ketidakkonsistenan, terutamanya dalam jadual besar.

Tambah Kekangan NOT NULL

Dalam sesetengah kes, anda mungkin mahu menambah kekangan NOT NULL pada jadual sedia ada. Sebagai contoh, anda boleh menggunakan arahan ALTER TABLE diikuti dengan klausa ALTER COLUMN.



Sintaksnya adalah seperti berikut:

ALTER TABLE table_name
ALTER COLUMN column_name SET BUKAN NULL;

Gantikan table_name dengan jadual sasaran anda dan column_name dengan lajur sasaran yang anda mahu gunakan kekangan.

Sahkan Kekangan

Anda boleh mengesahkan bahawa kekangan wujud pada jadual tertentu menggunakan arahan '\d' dalam utiliti PSQL.

\d nama_jadual

Contoh:

sample_db=# \d wp_users;

Output yang terhasil adalah seperti berikut:

Keluarkan Kekangan NOT NULL

Anda juga mungkin mahu mengalih keluar kekangan NOT NULL daripada lajur yang diberikan. Untuk itu, kita boleh menggunakan klausa ALTER TABLE dan ALTER COLUMN seperti berikut:

ALTER TABLE table_name
ALTER COLUMN column_name DROP NOT NULL;

Sebagai contoh, untuk mengalih keluar kekangan NOT NULL daripada lajur user_url pada jadual wp_users, kita boleh menjalankan pertanyaan berikut:

ALTER JADUAL wp_users ALTER COLUMN user_url DROP NOT NULL;

Ini sepatutnya menggugurkan kekangan dari jadual.

Kesimpulan

Tutorial ini meneroka bagaimana kita boleh bekerja dengan kekangan NOT NOLL dalam PostgreSQL. Kami juga meneroka cara untuk menggugurkan kekangan NOT NULL sedia ada daripada lajur yang diberikan.