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)