我有一个表格,其中包含代表投票的行。这些字段是投票本身的id,投票赞成或反对的内容的id以及保持“up”或“down”的方向字段。使用0和1或1和2更好吗? up“和”down“?以这种方式使用字符串或整数总是更好还是更差?
我听说整数可以使某些表操作更快,但是在这样的上下文中使用整数,在这种情况下,你试图表示的真实方向似乎会在编码时引入不必要的复杂性。如果我使用整数,我需要记住哪个数字代表哪个方向,而我的代码不会自我记录。
有什么想法吗?
答案 0 :(得分:1)
嗯,我会说应该根据具体情况来决定。
当您非常确定这些是属性的少数值时,枚举可以非常方便。
是的,如果您建议引用实际值,您将在php中添加一些额外的代码,但是如果您确定在数据列表中不会添加向右或向左的方向,那么请使用ENUM 。
答案 1 :(得分:0)
在你的情况下,存储和“UP”和“DOWN”作为整数不是一个坏主意,你可以将枚举存储在一个具有可能投票状态的特定表上。
您可以创建一个名为votes的表,其中包含整数ID和字符串投票,如下所示:
votes
+------+------+
| id | vote |
+------+------+
| 0 | UP |
| 1 | DOWN |
然后在需要时使用一个名为vote_id
的字段引用投票的ID;我更喜欢这种方法而不是枚举器,因为它更灵活,可扩展,例如,如果出于某种原因某些时候你想要添加另一种类型的投票,你可以轻松地完成它而无需触及你的应用程序代码,但实现将是简单就像在投票表中创建一个新记录一样。