Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> MySQL

MySQL में ENUM डेटा टाइप के कॉलम में नया मान कैसे जोड़ें?


ENUM डेटा टाइप के कॉलम में नया मान जोड़ने के लिए ALTER MODIFY कमांड का उपयोग करें।

मौजूदा ENUM मानों को बनाए रखने के लिए, नया मान जोड़ते समय मौजूदा सभी मानों को मैन्युअल रूप से लिखना पड़ता है।

सिंटैक्स

ALTER TABLE yourTableName 
MODIFY COLUMN yourEnumColumnName 
ENUM('existingValue1', 'existingValue2', ... N, 'newValue1', 'newValue2', ... N);

उदाहरण के साथ समझें

सबसे पहले एक टेबल बनाते हैं:

mysql> CREATE TABLE AddingNewValueToEnumColumn (
    -> Id INT NOT NULL AUTO_INCREMENT,
    -> Colors ENUM('RED', 'GREEN', 'BLUE'),
    -> PRIMARY KEY(Id)
    -> ); 
Query OK, 0 rows affected (0.64 sec)

टेबल का DDL जांचें

mysql> SHOW CREATE TABLE AddingNewValueToEnumColumn\G

आउटपुट

Table: AddingNewValueToEnumColumn
Create Table: CREATE TABLE `addingnewvaluetoenumcolumn` (
  `Id` int(11) NOT NULL AUTO_INCREMENT,
  `Colors` enum('RED','GREEN','BLUE') DEFAULT NULL,
  PRIMARY KEY (`Id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4

ENUM कॉलम 'Colors' में मान 'RED', 'GREEN', 'BLUE' हैं। नए मान 'YELLOW', 'ORANGE', 'PINK' जोड़ते हैं:

mysql> ALTER TABLE addingnewvaluetoenumcolumn 
    -> MODIFY COLUMN Colors 
    -> ENUM('RED', 'GREEN', 'BLUE', 'YELLOW', 'ORANGE', 'PINK'); 
Query OK, 0 rows affected (0.17 sec) 
Records: 0  Duplicates: 0  Warnings: 0

परिवर्तन सत्यापित करें

mysql> DESC AddingNewValueToEnumColumn;

आउटपुट

+--------+-----------------------------------------------------+------+-----+---------+----------------+
| Field  | Type                                                | Null | Key | Default | Extra          |
+--------+-----------------------------------------------------+------+-----+---------+----------------+
| Id     | int(11)                                             | NO   | PRI | NULL    | auto_increment |
| Colors | enum('RED','GREEN','BLUE','YELLOW','ORANGE','PINK') | YES  |     | NULL    |                |
+--------+-----------------------------------------------------+------+-----+---------+----------------+
2 rows in set (0.00 sec)

नए मान सफलतापूर्वक ENUM में जुड़ गए हैं।

  1. - MySQL में ORDER BY CASE का उपयोग करके ENUM प्रकार के मानों को शर्तों के आधार पर क्रमबद्ध करना

    MySQL में कस्टम ENUM क्रमबद्धता MySQL ENUM कॉलम अपने आंतरिक क्रम (परिभाषा क्रम) के अनुसार क्रमबद्ध होते हैं, वर्णानुक्रमिक नहीं। कस्टम क्रमबद्धता के लिए, ORDER BY CASE स्टेटमेंट का उपयोग करके प्रत्येक ENUM मान को क्रमबद्धता प्राथमिकता मान पर मैप करें। उदाहरण: कार्ड क्रमबद्धता (A, K, Q, J क्रम) SEL

  1. - MySQL में ALTER TABLE से ऑटो-इन्क्रीमेंट कॉलम कस्टम प्रारंभ मान के साथ जोड़ें

    मौजूदा टेबल में ALTER TABLE ... ADD COLUMN और AUTO_INCREMENT = मान का उपयोग करके कस्टम प्रारंभ मान वाला ऑटो-इन्क्रीमेंट कॉलम जोड़ सकते हैं। सिंटैक्स ALTER TABLE टेबल_नाम ADD COLUMN कॉलम_नाम INT NOT NULL AUTO_INCREMENT PRIMARY KEY, AUTO_INCREMENT = प्रारंभ_मान; उदाहरण: StudentId कॉलम 1000 से शुरू क

  1. - MySQL क्वेरी: अधिकतम संचयी मान प्राप्त करें

    समाधान सबक्वेरी में गुणनफल की गणना करें, फिर GROUP BY और ORDER BY से अधिकतम खोजें। उदाहरण टेबल बनाएं: INSERT INTO demo23 (value1, value2) VALUES (5,600), (20,800), (7,400), (6,500), (10,300), (11,500); क्वेरी LIMIT 1; परिणाम +-------------+-----------------------+ | total_value | number_of_occu