MySQL-এ ENUM ডেটা টাইপের কলামে নতুন মান যোগ করতে ALTER TABLE ... MODIFY COLUMN ব্যবহার করুন। বিদ্যমান সব মান পুনরায় লিখতে হয়।
সিনট্যাক্স
ALTER TABLE yourTableName MODIFY COLUMN yourEnumColumnName ENUM('existingValue1','existingValue2',...,'newValue1','newValue2',...);
উদাহরণ
টেবিল তৈরি করি:
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 COLLATE=utf8mb4_0900_ai_ci
নতুন মান যোগ করুন (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-এ নতুন মান যোগ করার সময় পুরনো সব মান লিখে দিতে হয়, অন্যথায় সেগুলো হারিয়ে যাবে।