【发布时间】:2014-11-27 08:03:52
【问题描述】:
我正在创建一个 MySQL 表来存储用户信息。如果一个信息是用户的毕业年份,从 1970 年到 2014 年,那么最好的数据类型是什么?我希望这个值可以让用户在注册时选择他们的毕业年份。
我打算像这样使用枚举。 grdYr ENUM('70','71','72', ... '14'),但 MyAQL maual 建议不要使用数字作为枚举值。简单地添加一个像 grdYr ENUM('s70','s71','s72', ... 's14') 这样的字符会解决问题吗?
另外,如果我以后要添加更多的值,比如 15 年、16 年等等,随着学生每年毕业,每次都改变表格是完成这项工作的唯一方法吗?据我所知,这似乎是唯一的方法,但改变一张桌子听起来像是我不应该做的事情。
请帮忙!
【问题讨论】:
-
许多专家建议不要使用 ENUM。如果要确保值在给定集合中,请创建一个列出所有值的表,并将其作为该表的外键。