首頁  >  問答  >  主體

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

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

天蓬老师天蓬老师2721 天前603

全部回覆(4)我來回復

  • ringa_lee

    ringa_lee2017-04-17 16:22:15

    例如下面兩個欄位:

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

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

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

    enum 相比较 varchar

    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
  • 取消回覆