DEFAULT Constraint
In this page:
column_name datatype DEFAULT default_value
DEFAULT को समझना
DEFAULT एक fallback value supply करता है जिसे MySQL automatically insert करता है जब भी एक row बिना उस column को explicitly specify किए बनाई जाए — status flags, counters, या timestamps के लिए उपयोगी जिन्हें एक known value पर शुरू होना चाहिए।
उदाहरण: Understanding DEFAULT
CREATE TABLE users (status VARCHAR(20) DEFAULT 'pending');
Defaults की तरह Functions इस्तेमाल करना
किसी column के default की तरह CURRENT_TIMESTAMP इस्तेमाल करना यह automatically record करने का standard तरीका है कि एक row कब बनाया गया, application code को हर insert पर वह value खुद set करने की ज़रूरत के बिना।
उदाहरण: Using Functions as Defaults
CREATE TABLE posts (created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP);
मौजूदा Tables में DEFAULT Add करना
ALTER TABLE के through एक मौजूदा column पर एक DEFAULT retrofit करना सिर्फ future inserts के लिए क्या होगा बदलता है — यह वापस जाकर table में पहले से मौजूद किसी row को update नहीं करता।
उदाहरण: Adding DEFAULT to Existing Tables
ALTER TABLE users ALTER status SET DEFAULT 'pending';
DEFAULT Constraints हटाना
एक DEFAULT constraint हटाने का मतलब है कि column को omit करने वाली future inserts या तो NULL store करेंगी (अगर column इसकी अनुमति दे) या एक error raise करेंगी (अगर यह बिना किसी fallback के NOT NULL भी है)।
उदाहरण: Dropping DEFAULT Constraints
ALTER TABLE users ALTER status DROP DEFAULT;
NOT NULL के साथ Combined
NOT NULL को DEFAULT के साथ combine करना एक common, safe pattern है: column कभी खाली नहीं हो सकता, और अगर application एक value supply नहीं करता, MySQL error होने के बजाय चुपचाप एक sensible value भर देता है।
उदाहरण: Combined with NOT NULL
CREATE TABLE users (status VARCHAR(20) NOT NULL DEFAULT 'pending');
- यह उम्मीद करना कि
DEFAULTमौजूदा rows fix कर देगा, जबकि यह सिर्फ future inserts पर apply होता है। - एक
DEFAULTवाले column में explicitlyNULLinsert करना, जो default के बजायNULLstore करता है। - एक ऐसे column type पर
DEFAULT CURRENT_TIMESTAMPइस्तेमाल करना जोTIMESTAMPयाDATETIMEनहीं है।
Chapter Quiz — Complete all 8 topics to unlock
0/8 topics done
Complete these topics first: