Syntax\n------\n\nENUM('value1','value2',...) [CHARACTER SET charset_name] [COLLATE collation_name]\n\nDescription\n-----------\n\nAn enumeration. A string object that can have only one value, chosen from the list of values 'value1', 'value2', ..., NULL or the special '' error value. In theory, an ENUM column can have a maximum of 65,535 distinct values; in practice, the real maximum depends on many factors. ENUM values are represented internally as integers.\n\nTrailing spaces are automatically stripped from ENUM values on table creation.\n\nENUM values require relatively little storage space compared to strings, either one or two bytes depending on the number of enumeration values.\n\nNULL and empty values\n\nAn ENUM can also contain NULL and empty values. If the ENUM column is declared to permit NULL values, NULL becomes a valid value, as well as the default value (see below). If strict SQL Mode is not enabled, and an invalid value is inserted into an ENUM, a special empty string, with an index value of zero (see Numeric index, below), is inserted, with a warning. This may be confusing, because the empty string is also a possible value, and the only difference if that is this case its index is not 0. Inserting will fail with an error if strict mode is active.\n\nIf a DEFAULT clause is missing, the default value will be:\n\n NULL if the column is nullable;\n otherwise, the first value in the enumeration.\n\nNumeric index\n\nENUM values are indexed numerically in the order they are defined, and sorting will be performed in this numeric order. We suggest not using ENUM to store numerals, as there is little to no storage space benefit, and it is easy to confuse the enum integer with the enum numeral value by leaving out the quotes.\n\nAn ENUM defined as ENUM('apple','orange','pear') would have the following index values:\n\n| Index | Value    |\n| ----- | -------- |\n| NULL  | NULL     |\n| 0     | ''       |\n| 1     | 'apple'  |\n| 2     | 'orange' |\n| 3     | 'pear'   |\n\nExamples\n--------\n\nCREATE TABLE fruits (\n  id INT NOT NULL auto_increment PRIMARY KEY,\n  fruit ENUM('apple','orange','pear'),\n  bushels INT);\n\nDESCRIBE fruits;\n+---------+-------------------------------+------+-----+---------+----------------+\n| Field   | Type                          | Null | Key | Default | Extra          |\n+---------+-------------------------------+------+-----+---------+----------------+\n| id      | int(11)                       | NO   | PRI | NULL    | auto_increment |\n| fruit   | enum('apple','orange','pear') | YES  |     | NULL    |                |\n| bushels | int(11)                       | YES  |     | NULL    |                |\n+---------+-------------------------------+------+-----+---------+----------------+\n\nINSERT INTO fruits\n    (fruit,bushels) VALUES\n    ('pear',20),\n    ('apple',100),\n    ('orange',25);\n\nINSERT INTO fruits\n    (fruit,bushels) VALUES\n    ('avocado',10);\nERROR 1265 (01000): Data truncated for column 'fruit' at row 1\n\nSELECT * FROM fruits;\n+----+--------+---------+\n| id | fruit  | bushels |\n+----+--------+---------+\n|  1 | pear   |      20 |\n|  2 | apple  |     100 |\n|  3 | orange |      25 |\n+----+--------+---------+\n\nURL: https://mariadb.com/docs/server/reference/data-types/string-data-types/enum