MySQL में मौजूदा कॉलम के लिए ALTER TABLE ... MODIFY का उपयोग करके डिफ़ॉल्ट मान सेट करें।
उदाहरण: टेबल बनाना
mysql> CREATE TABLE DemoTable (
-> Age INT
-> );
Query OK, 0 rows affected (0.58 sec)
डिफ़ॉल्ट मान सेट करना
mysql> ALTER TABLE DemoTable MODIFY Age INT DEFAULT 18; Query OK, 0 rows affected (0.25 sec) Records: 0 Duplicates: 0 Warnings: 0
टेबल विवरण जांचना
mysql> DESC DemoTable;
आउटपुट
+-------+---------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +-------+---------+------+-----+---------+-------+ | Age | int(11) | YES | | 18 | | +-------+---------+------+-----+---------+-------+ 1 row in set (0.00 sec)
अब Default कॉलम में 18 दिख रहा है।
डिफ़ॉल्ट मान का परीक्षण करना
mysql> INSERT INTO DemoTable VALUES(19); -- स्पष्ट मान Query OK, 1 row affected (0.14 sec) mysql> INSERT INTO DemoTable VALUES(); -- कोई मान नहीं, डिफ़ॉल्ट उपयोग होगा Query OK, 1 row affected (0.13 sec) mysql> INSERT INTO DemoTable VALUES(20); -- स्पष्ट मान Query OK, 1 row affected (0.12 sec) mysql> INSERT INTO DemoTable VALUES(); -- कोई मान नहीं, डिफ़ॉल्ट उपयोग होगा Query OK, 1 row affected (0.11 sec)
सभी रिकॉर्ड देखना
mysql> SELECT * FROM DemoTable;
आउटपुट
+------+ | Age | +------+ | 19 | | 18 | -- डिफ़ॉल्ट | 20 | | 18 | -- डिफ़ॉल्ट +------+ 4 rows in set (0.00 sec)
मुख्य बिंदु:
MODIFYकॉलम परिभाषा को बदलता है,CHANGEनाम भी बदल सकता है- डिफ़ॉल्ट मान केवल तभी लागू होता है जब INSERT में कॉलम निर्दिष्ट न हो या DEFAULT कीवर्ड उपयोग किया जाए
- नई टेबल बनाते समय
CREATE TABLE ... (col INT DEFAULT 18)सीधे उपयोग करें