您是在项目中使用ENUM / SET字段类型还是使用VARCHAR / INT字段并在代码中定义可用值?什么是最佳做法?
在我看来,避免ENUM / SET更容易维护,因为我们必须仅在代码中更改值(而不是数据库和代码)。
谢谢。
答案 0 :(得分:3)
如果不知道你的项目是什么,你的数据是什么样的等等,就不可能回答这个问题。
一般来说,它限制使用ENUM
并限制直接在代码中定义值。如果需要“ALTER
”列或编辑代码,则需要对其中任何一个进行更改。如果您创建一个单独的表来存储可接受的值,并使用外键链接到该表,则可以轻松添加和编辑属性,而无需更改任何定义或代码。
编辑:它还使您的代码可以访问属性。
答案 1 :(得分:1)
我使用枚举,但对于搜索/性能,最好使用INT