2010-01-12 97 views

回答

7

是的,这将是一个适当的数据类型,因为它强制你的域名。

但是,如果您要添加(或进行任何其他数学运算),则数字数据类型可能会更好。

+3

确实,或者如果你打算平均他们。 TINYINT可能更合适,只要确保在应用程序中限制值即可。 – 2010-01-12 14:08:12

+0

好点谢谢!举例来说,如果我想计算产品枚举的平均评分将是一个不错的选择,对吧?我只需要使用一个int并以编程方式将输入约束在1&5> – 2010-01-12 14:09:43

+0

@Jordan之间,我的想法就是这样。 ENUM确实闪耀,如果你有一个固定的文本列表,并没有数字内涵 – 2010-01-12 14:09:48

9

我建议使用

TINYINT UNSIGNED NOT NULL 

,或者更好的ANSI/SQL的兼容性,使用:

SMALLINT NOT NULL 

一个整型,这是很容易做到的计算。 ENUM并不坏,但是由于它是双字符串/ int类型(在封面之下,它是一个int,但是从外部看,它是一个字符串),所以可能会搞砸了。事实上,假设你确实需要去3星级,或者10星级左右,那么迁移将不那么痛苦。