قم بإزالة القيد NOT NULL في Postgres

Qm Bazalt Alqyd Not Null Fy Postgres



في قواعد البيانات العلائقية مثل PostgreSQL ، تعتبر القيود ضرورية في الحفاظ على تكامل البيانات وفرض قواعد محددة على أعمدة الجدول. أحد هذه القيود هو القيد 'NOT NULL'. في هذا البرنامج التعليمي ، سوف نستكشف مفهوم القيد NOT NULL ونقدم دليلًا تفصيليًا حول إنشائه وإزالته في PostgreSQL.

ما هو القيد غير الفارغ؟

يضمن القيد NOT NULL أن العمود لا يمكن أن يحتوي على قيم فارغة تتطلب أن يكون لكل صف في الجدول قيمة غير خالية لهذا العمود المحدد.

متطلبات البرنامج التعليمي:

لمتابعة الإرشادات الواردة في هذا المنشور ، نفترض أن لديك المتطلبات التالية:







  1. تثبيت خادم PostgreSQL على جهازك
  2. معرفة أساسية بـ SQL
  3. إذن لإنشاء كائنات جدول قاعدة البيانات مثل القيود والوظائف وما إلى ذلك

مثال على الجدول:

لنبدأ بإعداد جدول نموذج بأعمدة تحتوي على قيد غير فارغ. خذ بيان إنشاء الجدول التالي الذي يقوم بإعداد جدول أساسي يشبه جدول wp_users في WordPress:



إنشاء جدول wp_users (
معرف المفتاح التسلسلي الأساسي ،
user_login VARCHAR (60) ليس NULL ،
user_pass VARCHAR (255) ليس فارغًا ،
user_nicename VARCHAR (50) NOT NULL ،
user_email VARCHAR (100) ليس NULL ،
user_url VARCHAR (100) ،
user_registered TIMESTAMP NOT NULL DEFAULT current_timestamp ،
user_activation_key VARCHAR (255) ،
user_status INT NOT NULL افتراضي 0 ،
display_name VARCHAR (250) NOT NULL
) ؛

من الاستعلام المحدد ، ستلاحظ أن معظم الأعمدة تحتوي على قيد NOT NULL.



الطريقة الأكثر فعالية لإنشاء قيد NOT NULL في عمود معين أثناء إنشاء الجدول. هذا يضمن أن جميع البيانات التي تمت إضافتها إلى الجدول تلتزم بقواعد القيد.





ومع ذلك ، إذا قمت بإضافة قيد إلى جدول موجود ، فإن القواعد تنطبق فقط على البيانات التي تمت إضافتها بعد القيد وليس على أي بيانات موجودة. يمكن أن يؤدي هذا إلى تناقضات ، خاصة في الجداول الكبيرة.

أضف قيد NOT NULL

في بعض الحالات ، قد ترغب في إضافة قيد NOT NULL إلى جدول موجود. على سبيل المثال ، يمكنك استخدام الأمر ALTER TABLE متبوعًا بعبارة ALTER COLUMN.



بناء الجملة كما يلي:

ALTER TABLE table_name
ALTER COLUMN column_name SET NOT NULL ؛

استبدل اسم_الجدول بالجدول الهدف واسم_العمود بالعمود الهدف الذي تريد تطبيق القيد عليه.

تحقق من القيد

يمكنك التحقق من وجود القيد في جدول معين باستخدام الأمر “\ d” في الأداة المساعدة PSQL.

\ d اسم_الجدول

مثال:

sample_db = # \ d wp_users ؛

الناتج الناتج هو كما يلي:

قم بإزالة القيد NOT NULL

قد ترغب أيضًا في إزالة القيد NOT NULL من عمود معين. لذلك ، يمكننا استخدام جمل ALTER TABLE و ALTER COLUMN على النحو التالي:

ALTER TABLE table_name
ALTER COLUMN column_name ، DROP NOT NULL ؛

على سبيل المثال ، لإزالة القيد NOT NULL من العمود user_url في جدول wp_users ، يمكننا تشغيل الاستعلام التالي:

ALTER TABLE wp_users ALTER COLUMN user_url DROP NOT NULL ؛

هذا يجب أن يسقط القيد من الجدول.

خاتمة

استكشف هذا البرنامج التعليمي كيف يمكننا العمل مع قيد NOT NOLL في PostgreSQL. استكشفنا أيضًا كيفية إسقاط قيد NOT NULL موجود من عمود معين.