ALTER MODIFY 명령을 사용하여 열거형 데이터 유형의 열에 새 값을 추가할 수 있습니다.
enum의 기존 값을 원하면 enum 데이터 타입의 컬럼에 새로운 값을 추가할 때 기존 enum 값을 수동으로 작성해야 합니다.
구문은 다음과 같습니다 -
ALTER TABLE yourTableName MODIFY COLUMN yourEnumColumnName ENUM('yourExistingValue1','yourExistingValue2',........N,'yourNewValue1',’yourNewValue2’,.....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을 확인하려면 show create 명령어를 사용합니다. 쿼리는 다음과 같습니다 -
mysql> show create table AddingNewValueToEnumColumn\G표시
다음은 출력입니다 -
*************************** 1. row *************************** 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 1 row in set (0.00 sec)
값이 'RED', 'GREEN', 'BLUE'인 열거형 열 'Colors'를 보고 다른 값을 원하면 위에서 설명한 대로 ALTER 명령을 사용합니다.
이제 'YELLOW', 'ORANGE', 'PINK'와 같은 새 값을 추가해 보겠습니다. 다음은 열거 열 'Colors' -
에 새 값을 추가하는 쿼리입니다.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
값이 추가되었는지 여부를 확인하려면 테이블의 설명을 확인하십시오. 구문은 다음과 같습니다 -
DESC yourTableName;
DESC를 사용하여 'addingnewvaluetoenumcolumn' 테이블의 설명을 확인하십시오 -
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)