>  Q&A  >  본문

MySQL中的enum类型有什么优点?

刚开始用MYSQL,一直没注意到这个类型,它有什么优点?或者说如果存储内容都是短字符串的话,它跟varchar有何区别?

天蓬老师天蓬老师2721일 전609

모든 응답(4)나는 대답할 것이다

  • ringa_lee

    ringa_lee2017-04-17 16:22:15

    例如下面两个字段:

    name varchar(50) , 
    sex  enum('male' , 'female' , 'both' , 'unknow')

    name 字段可以插入任意字符串。

    sex 字段只允许插入 male , female , both , unknow 中的其中之一,不在范围内的值会报错。

    enum 相比较 varchar 就更加规范些,你在程序中限定也一样可以做到。

    对于性能比较的话,就得等待高手来解答了.....

    회신하다
    0
  • 天蓬老师

    天蓬老师2017-04-17 16:22:15

    Enum 好处让值取在几个值范围内

    회신하다
    0
  • PHPz

    PHPz2017-04-17 16:22:15

    查询string和enum速度上差不多,用到enum或set就是逻辑上的需要吧。。。

    회신하다
    0
  • 伊谢尔伦

    伊谢尔伦2017-04-17 16:22:15

    enum在底层的存储方式是以整型进行存储的
    比如这样的字段
    sex enum('male' , 'female' , 'both' , 'unknow')
    在查询时
    where sex='male'
    和where sex=1是等效的

    회신하다
    0
  • 취소회신하다