以下是 MySQL ENUM 的限制 -
枚举值不能是表达式
我们不能使用表达式作为枚举成员,即使是计算结果为字符串值的表达式。示例
例如,我们甚至可以使用 CONCAT 函数这会导致对字符串进行求值。
以下查询将不起作用 -
mysql> create table limit_enum(number ENUM('one', 'two', CONCAT('t','wo'));
不能使用用户变量作为枚举成员
另一个限制是我们不能使用用户变量作为枚举成员枚举成员。因此以下查询将不起作用 -
mysql> SET @mynumber = 'two';
Query OK, 0 rows affected (0.04 sec)
mysql> Create table limit_enum(number ENUM('one', @mynumber, 'three'));