MySQL में IF() फ़ंक्शन का उपयोग करके सशर्त डिफ़ॉल्ट मान डालना
आप IF() फ़ंक्शन का उपयोग करके जांच सकते हैं कि कोई मान NULL है या नहीं, और तदनुसार डिफ़ॉल्ट मान डाल सकते हैं।
सिंटैक्स
INSERT INTO yourTableName(yourColumnName1, yourColumnName2)
VALUES('yourValue', IF(yourColumnName1 IS NULL, DEFAULT(yourColumnName2), 'yourMessage'));
उदाहरण
एक टेबल बनाएं जिसमें UserPostMessage का डिफ़ॉल्ट मान हो:
mysql> create table Post (
-> Id int NOT NULL AUTO_INCREMENT PRIMARY KEY,
-> UserName varchar(10),
-> UserPostMessage varchar(50) NOT NULL DEFAULT 'Hi Good Morning !!!'
-> );
रिकॉर्ड डालें:
mysql> insert into Post(UserName, UserPostMessage)
-> values('John', if(UserName IS NULL, DEFAULT(UserPostMessage), 'Hello'));
mysql> insert into Post(UserName, UserPostMessage)
-> values(NULL, if(UserName IS NULL, DEFAULT(UserPostMessage), 'Hello'));
mysql> insert into Post(UserName, UserPostMessage)
-> values('Carol', if(UserName IS NULL, DEFAULT(UserPostMessage), 'Hello'));
परिणाम:
+----+----------+---------------------+ | Id | UserName | UserPostMessage | +----+----------+---------------------+ | 1 | John | Hello | | 2 | NULL | Hi Good Morning !!! | | 3 | Carol | Hello | +----+----------+---------------------+
व्याख्या
- जब
UserNameNULL नहीं है (John, Carol), तो 'Hello' डाला जाता है। - जब
UserNameNULL है, तो कॉलम का डिफ़ॉल्ट मान 'Hi Good Morning !!!' डाला जाता है।
वैकल्पिक: IFNULL() फ़ंक्शन
आप IFNULL(column, default_value) का भी उपयोग कर सकते हैं।