为什么MySQL在枚举声明中允许重复值

为什么MySQL在枚举声明中允许重复值,mysql,enums,Mysql,Enums,我只是偶然发现MySQL允许重复的枚举值 类似于en enum('a','a','b','c')中的非空值) 为什么?这是因为MYSQL实际处理枚举的方式是通过索引进行的 所以对MYSQL来说 ('a','a','b','c') 实际上等于 (0,1,2,3) 以及为什么要避免它的一些原因…如果可能的话,特别是如果使用它作为参考字段 谢谢您的回答。我很清楚会发生什么。但这并不能解释为什么MySQL选择不使用这个定义。我也不同意在任何情况下避免枚举。

我只是偶然发现MySQL允许重复的枚举值

类似于
en enum('a','a','b','c')中的非空值)


为什么?

这是因为MYSQL实际处理枚举的方式是通过索引进行的

所以对MYSQL来说

 ('a','a','b','c')
实际上等于

 (0,1,2,3)

以及为什么要避免它的一些原因…如果可能的话,特别是如果使用它作为参考字段


谢谢您的回答。我很清楚会发生什么。但这并不能解释为什么MySQL选择不使用这个定义。我也不同意在任何情况下避免枚举。