0

我有一个表格,其中包含代表投票的行。这些字段是投票本身的 id,投票赞成或反对的事物的 id 以及保持“向上”或向下“的方向字段。将 0 和 1 或 1 和 2 用于“ up”和“down”?以这种方式使用字符串或整数总是更好还是更差?

我听说整数可以使某些表操作更快,但是在这样的上下文中使用整数,你试图表示的真实事物是一个方向,在编码时似乎会引入不必要的复杂性。如果我使用整数,我需要记住哪个数字代表哪个方向,并且我的代码不会自我记录。

任何想法?

4

2 回答 2

1

好吧,我会说应该根据具体情况决定。

当您非常确定这些是属性的少数值时,枚举可以派上用场。

是的,当然,如果您建议引用实际值,您将在 php 中添加一些额外的代码,但如果您确定不会在数据列表中添加右或左方向,那么请使用 ENUM。

于 2012-04-11T20:49:11.070 回答
0

在您的情况下,将“UP”和“DOWN”存储为整数并不是一个坏主意,您可以将枚举存储在保存可能投票状态的特定表上。

您可以使用整数 ID 和字符串投票创建一个名为 votes 的表,如下所示:

    votes
+------+------+
| id   | vote |
+------+------+
|  0   | UP   |
|  1   | DOWN | 

然后在需要时使用名为例如的字段引用投票的 ID vote_id:我更喜欢这种方法而不是枚举器,因为它更灵活且可扩展,例如,如果有一天由于某种原因您想添加另一种类型的投票,您可以轻松地做到这一点,而无需触及您的应用程序代码,但实现将是就像在投票表中创建新记录一样简单。

于 2012-04-11T21:29:23.550 回答