پوسٹگریس میں NOT NULL رکاوٹ کو ہٹا دیں۔

Pws Grys My Not Null Rkaw Kw A Dy



متعلقہ ڈیٹا بیس جیسے PostgreSQL میں، ڈیٹا کی سالمیت کو برقرار رکھنے اور ٹیبل کالموں پر مخصوص قوانین کو نافذ کرنے میں رکاوٹیں بہت اہم ہیں۔ ایسی ہی ایک رکاوٹ 'NOT NULL' رکاوٹ ہے۔ اس ٹیوٹوریل میں، ہم NOT NULL رکاوٹ کے تصور کو دریافت کریں گے اور PostgreSQL میں اسے بنانے اور ہٹانے کے لیے مرحلہ وار گائیڈ فراہم کریں گے۔

NOT NULL رکاوٹ کیا ہے؟

NOT NULL رکاوٹ اس بات کو یقینی بناتی ہے کہ ایک کالم میں null قدریں شامل نہیں ہوسکتی ہیں جس کے لیے جدول کی ہر قطار کو اس مخصوص کالم کے لیے غیر null قدر کی ضرورت ہوتی ہے۔

سبق کے تقاضے:

اس پوسٹ میں فراہم کردہ ہدایات پر عمل کرنے کے لیے، ہم فرض کرتے ہیں کہ آپ کے لیے درج ذیل تقاضے ہیں:







  1. آپ کی مشین پر PostgreSQL سرور انسٹال ہے۔
  2. بنیادی SQL علم
  3. ڈیٹا بیس ٹیبل آبجیکٹ بنانے کی اجازت جیسے کہ رکاوٹیں، فنکشنز وغیرہ

مثال کی میز:

آئیے ہم کالموں کے ساتھ ایک نمونہ ٹیبل ترتیب دے کر شروع کریں جس میں null پابندی نہیں ہے۔ مندرجہ ذیل تخلیق ٹیبل کا بیان لیں جو ایک بنیادی ٹیبل ترتیب دیتا ہے جو ورڈپریس میں wp_users ٹیبل سے ملتا ہے۔



ٹیبل بنائیں wp_users (
ID سیریل پرائمری کلید،
user_login VARCHAR(60) NOT NULL،
user_pass VARCHAR(255) NOT NULL،
user_nicename VARCHAR(50) NOT NULL،
user_email VARCHAR(100) NOT NULL،
user_url VARCHAR(100)،
user_registered TIMESTAMP NOT NULL DEFAULT current_timestamp،
user_activation_key VARCHAR(255)،
user_status INT NOT NULL DEFAULT 0،
display_name VARCHAR(250) NOT NULL
);

دی گئی استفسار سے، آپ دیکھیں گے کہ زیادہ تر کالموں میں NOT NULL رکاوٹ ہوتی ہے۔



دیئے گئے کالم میں NOT NULL رکاوٹ پیدا کرنے کا سب سے موثر طریقہ ٹیبل تخلیق کے دوران ہے۔ یہ اس بات کو یقینی بناتا ہے کہ تمام ڈیٹا جو ٹیبل میں شامل کیا گیا ہے رکاوٹ کے اصولوں پر عمل پیرا ہے۔





تاہم، اگر آپ کسی موجودہ ٹیبل میں رکاوٹ شامل کرتے ہیں، تو قواعد صرف اس ڈیٹا پر لاگو ہوتے ہیں جو رکاوٹ کے بعد شامل کیے جاتے ہیں نہ کہ کسی موجودہ ڈیٹا پر۔ یہ متضادات کا باعث بن سکتا ہے، خاص طور پر بڑی میزوں میں۔

NOT NULL پابندی شامل کریں۔

کچھ معاملات میں، آپ موجودہ ٹیبل میں NOT NULL رکاوٹ شامل کرنا چاہتے ہیں۔ مثال کے طور پر، آپ ALTER TABLE کمانڈ استعمال کر سکتے ہیں جس کے بعد ALTER COLUMN شق ہے۔



نحو درج ذیل ہے:

ٹیبل کا نام تبدیل کریں۔
کالم کالم کا نام تبدیل کریں NOT NULL سیٹ کریں؛

table_name کو اپنے ٹارگٹ ٹیبل اور column_name کو ہدف والے کالم سے بدلیں جس پر آپ رکاوٹ کا اطلاق کرنا چاہتے ہیں۔

پابندی کی تصدیق کریں۔

آپ PSQL یوٹیلیٹی میں '\d' کمانڈ کا استعمال کرتے ہوئے اس بات کی تصدیق کر سکتے ہیں کہ دی گئی ٹیبل پر رکاوٹ موجود ہے۔

\d ٹیبل_نام

مثال:

نمونہ_db=# \d wp_users؛

نتیجے کی پیداوار مندرجہ ذیل ہے:

NOT NULL رکاوٹ کو ہٹا دیں۔

آپ کسی دیئے گئے کالم سے NOT NULL رکاوٹ کو بھی ہٹانا چاہتے ہیں۔ اس کے لیے ہم ALTER TABLE اور ALTER COLUMN شقوں کو درج ذیل استعمال کر سکتے ہیں:

ٹیبل کا نام تبدیل کریں۔
کالم کالم کا نام تبدیل کریں خالی نہیں چھوڑیں؛

مثال کے طور پر، wp_users ٹیبل کے user_url کالم سے NOT NULL رکاوٹ کو دور کرنے کے لیے، ہم درج ذیل استفسار کو چلا سکتے ہیں:

ٹیبل کو تبدیل کریں wp_users کالم صارف_url کو تبدیل نہیں کریں

یہ میز سے رکاوٹ کو چھوڑ دینا چاہئے.

نتیجہ

اس ٹیوٹوریل میں اس بات کی کھوج کی گئی ہے کہ ہم PostgreSQL میں NOT NOLL رکاوٹ کے ساتھ کیسے کام کر سکتے ہیں۔ ہم نے یہ بھی دریافت کیا کہ دیئے گئے کالم سے موجودہ NOT NULL رکاوٹ کو کیسے چھوڑا جائے۔