是的,这将是一种适当的数据类型,因为它会强制执行您的域.
但是,如果要将它们一起添加(或执行任何其他数学运算),则数字数据类型可能会更好.
我建议使用
TINYINT UNSIGNED NOT NULL
Run Code Online (Sandbox Code Playgroud)
或者,为了更好的ANSI/SQL兼容性,请使用:
SMALLINT NOT NULL
Run Code Online (Sandbox Code Playgroud)
使用整数类型,进行计算要容易得多.ENUM也不错,但是有可能搞得一团糟,因为它是一种双字符串/ int类型(在封面下面,它是一个int,但从外面来看,它是一个字符串).事实上,假设你确实觉得有必要去3星,或者10星左右,那么迁移将会更加痛苦.