MySQL में, दो दृष्टिकोण हैं जिनके द्वारा आप MySQL फ़ील्ड को डिफ़ॉल्ट मान पर रीसेट कर सकते हैं। एक डिफ़ॉल्ट कीवर्ड है और दूसरा डिफ़ॉल्ट () फ़ंक्शन है।
केस 1 :डिफ़ॉल्ट कीवर्ड का उपयोग करना। वाक्य रचना इस प्रकार है:
UPDATE yourTableName SET yourColumnName=default where yourCondition;
केस 2 :डिफ़ॉल्ट () फ़ंक्शन का उपयोग करना। वाक्य रचना इस प्रकार है:
UPDATE yourTableName SET yourColumnName=default(yourColumnName) where yourCondition;
उपरोक्त वाक्य रचना को समझने के लिए, आइए एक तालिका बनाते हैं। तालिका बनाने की क्वेरी इस प्रकार है:
mysql> create table Default_Demo -> ( -> Id int NOT NULL AUTO_INCREMENT, -> Name varchar(20), -> Age int, -> Salary float, -> PRIMARY KEY(Id) -> ); Query OK, 0 rows affected (0.73 sec)
इंसर्ट कमांड का उपयोग करके टेबल में कुछ रिकॉर्ड डालें। क्वेरी इस प्रकार है:
mysql> insert into Default_Demo(Name,Age,Salary) values('John',23,405.56); Query OK, 1 row affected (0.18 sec) mysql> insert into Default_Demo(Name,Age,Salary) values('Carol',25,1000.98); Query OK, 1 row affected (0.22 sec) mysql> insert into Default_Demo(Name,Age,Salary) values('Larry',21,987.24); Query OK, 1 row affected (0.09 sec) mysql> insert into Default_Demo(Name,Age,Salary) values('Sam',24,986.10); Query OK, 1 row affected (0.17 sec) mysql> insert into Default_Demo(Name,Age,Salary) values('Mike',22,10000.50); Query OK, 1 row affected (0.17 sec) mysql> insert into Default_Demo(Name,Age,Salary) values('David',26,100.45); Query OK, 1 row affected (0.20 sec)
चयन कथन का उपयोग करके तालिका से सभी रिकॉर्ड प्रदर्शित करें। क्वेरी इस प्रकार है:
mysql> select *from Default_Demo;
निम्न आउटपुट है:
+----+-------+------+---------+ | Id | Name | Age | Salary | +----+-------+------+---------+ | 1 | John | 23 | 405.56 | | 2 | Carol | 25 | 1000.98 | | 3 | Larry | 21 | 987.24 | | 4 | Sam | 24 | 986.1 | | 5 | Mike | 22 | 10000.5 | | 6 | David | 26 | 100.45 | +----+-------+------+---------+ 6 rows in set (0.00 sec)
यहाँ MySQL फ़ील्ड को डिफ़ॉल्ट मानों पर रीसेट करने के लिए क्वेरी है।
मामला 1: डिफ़ॉल्ट कीवर्ड का उपयोग करना। क्वेरी इस प्रकार है:
mysql> update Default_Demo set Age=Default where Id=6; Query OK, 1 row affected (0.10 sec) Rows matched: 1 Changed: 1 Warnings: 0
अब आप तालिका रिकॉर्ड की जांच कर सकते हैं, कॉलम आयु शून्य है जहां आईडी 6 है। क्वेरी इस प्रकार है:
mysql> select *from Default_Demo;
निम्न आउटपुट है:
+----+-------+------+---------+ | Id | Name | Age | Salary | +----+-------+------+---------+ | 1 | John | 23 | 405.56 | | 2 | Carol | 25 | 1000.98 | | 3 | Larry | 21 | 987.24 | | 4 | Sam | 24 | 986.1 | | 5 | Mike | 22 | 10000.5 | | 6 | David | NULL | 100.45 | +----+-------+------+---------+ 6 rows in set (0.00 sec)
आईडी 6 को देखें जिसमें आयु कॉलम को डिफ़ॉल्ट मान NULL के साथ अपडेट किया गया है।
मामला 2: अब आप डिफ़ॉल्ट () फ़ंक्शन का भी उपयोग कर सकते हैं। यहां, वेतन कॉलम को डिफ़ॉल्ट मान के साथ अपडेट करें जहां आईडी 6 है। क्वेरी इस प्रकार है:
mysql> update Default_Demo set Salary=Default(Salary) where Id=6; Query OK, 1 row affected (0.21 sec) Rows matched: 1 Changed: 1 Warnings: 0
अब तालिका रिकॉर्ड की जाँच करें जहाँ Id 6 है।
mysql> select *from Default_Demo where Id=6;
निम्न आउटपुट है:
+----+-------+------+--------+ | Id | Name | Age | Salary | +----+-------+------+--------+ | 6 | David | NULL | NULL | +----+-------+------+--------+ 1 row in set (0.00 sec)
वेतन कॉलम को देखें, डिफ़ॉल्ट मान NULL सफलतापूर्वक अपडेट किया गया है।