标签: sql mysql database database-design
我有许多列只需要存储一些值(例如0,1,2,3)。我应该为这种情况选择什么数据类型?我觉得我应该选择像ENUM('0','1','2')这样的东西。 int会更好(尽管限制较少)?我应该考虑别的东西(比如tinyint)吗?
修改
实际上,在决定数据类型时,我应该考虑哪些一般建议?
答案 0 :(得分:5)
如果您想将其限制为这三个值,那么ENUM可能是最好的。
但是,如果将来可能需要更多的值,那么TINYINT UNSIGNED可能是更好的解决方案。
答案 1 :(得分:1)
建议使用带有固定集的枚举。如果你想扩展,那么“Alter”基本上应该避免架构改变。
更好地了解choosing datatype
并获取comparison of enum数据类型