在MySQL中,使用ENUM類型可以讓我們在一個列中定義一組有限的可能值。這些可能的值可以包含到255個不同的值,并且每個值最大長度為65535個字符。但是,在實踐中,這可能不是最優的解決方案,因為它會占用大量的空間。
CREATE TABLE `test` ( `id` int(11) NOT NULL AUTO_INCREMENT, `gender` enum('M','F') NOT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
上面的例子中,在gender列中,我們定義了兩個可能值 'M' 和 'F'。這個列將占用 1 byte 的存儲空間,以便能夠存儲這兩個可能值。
請注意,在使用ENUM類型時,如果您要添加新值,則必須在表結構中進行更改。這是因為ENUM值是與表結構一起存儲的。因此,更改ENUM類型可能會導致表發生較大的變化。
總的來說,在MySQL中使用ENUM類型來存儲一個列的可能值是非常方便的。但是,最好只在您確認對于該列將要使用的可能值非常小而且穩定時,才使用ENUM類型。
上一篇enum用法mysql