在MySQL中为数据类型枚举的列添加新值?
您可以使用ALTERMODIFY命令将新值添加到数据类型为enum的列中。
如果要使用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)
-> );要检查上表的DDL,请使用showcreate命令。查询如下-
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”。以下是向枚举列“颜色”添加新值的查询-
mysql> ALTER TABLE addingnewvaluetoenumcolumn MODIFY COLUMN Colors
-> ENUM('RED','GREEN','BLUE','YELLOW','ORANGE','PINK');
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)