MySQL में ALTER TABLE ... CHANGE कमांड का उपयोग करके आप TINYINT कॉलम का डिफ़ॉल्ट मान बदल सकते हैं। TINYINT(1) अक्सर बूलियन फ्लैग (0/1) के लिए उपयोग किया जाता है।
उदाहरण तालिका बनाना
mysql> CREATE TABLE DemoTable (
Id INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
UserName VARCHAR(20),
UserAge INT,
isMarried TINYINT(1)
);
वर्तमान संरचना देखना (डिफ़ॉल्ट NULL)
mysql> DESC DemoTable;
आउटपुट:
+-----------+-------------+------+-----+---------+----------------+ | Field | Type | Null | Key | Default | Extra | +-----------+-------------+------+-----+---------+----------------+ | Id | int(11) | NO | PRI | NULL | auto_increment | | UserName | varchar(20) | YES | | NULL | | | UserAge | int(11) | YES | | NULL | | | isMarried | tinyint(1) | YES | | NULL | | +-----------+-------------+------+-----+---------+----------------+
डिफ़ॉल्ट मान को 1 और NOT NULL में बदलना
mysql> ALTER TABLE DemoTable
-> CHANGE isMarried isMarried TINYINT(1) DEFAULT 1 NOT NULL;
आउटपुट: Query OK, 0 rows affected (1.29 sec)
बदली हुई संरचना सत्यापित करना
mysql> DESC DemoTable;
आउटपुट:
+-----------+-------------+------+-----+---------+----------------+ | Field | Type | Null | Key | Default | Extra | +-----------+-------------+------+-----+---------+----------------+ | Id | int(11) | NO | PRI | NULL | auto_increment | | UserName | varchar(20) | YES | | NULL | | | UserAge | int(11) | YES | | NULL | | | isMarried | tinyint(1) | NO | | 1 | | +-----------+-------------+------+-----+---------+----------------+
व्याख्या: CHANGE old_name new_name type सिंटैक्स कॉलम परिभाषा को पूरी तरह से पुनर्परिभाषित करता है। यहां हमने:
- नाम वही रखा:
isMarried - प्रकार:
TINYINT(1) DEFAULT 1जोड़ाNOT NULLजोड़ा (डिफ़ॉल्ट के साथ आवश्यक)
नोट: MODIFY का उपयोग करके भी किया जा सकता है: ALTER TABLE DemoTable MODIFY isMarried TINYINT(1) DEFAULT 1 NOT NULL; - MODIFY में कॉलम नाम दोहराने की आवश्यकता नहीं होती।