是否可以将答案作为整数存储在数据库中?

时间:2012-08-04 00:05:49

标签: php html mysql

在你阅读之前我只是想做一些非常清楚的事情,我不是在寻找有人为我编码,我只需要知道我是否可以这样做,因为我没有很长一段时间花在这部分任务上,我认为最好问一下Stackoverflow上的专家/伙伴们。

所以我的问题是: 我有一些调查问卷,由参与者填写,因为答案是字符串,我想知道是否可以将这些答案存储为整数,例如,你有:

1 =“从不真实”2 =“很少真”3 =“有时候是真的”4 =“经常是真的”5 =“经常是真的”。我只想存储数字,我只是想知道这是否可能。

谢谢。

完成

我认为在我把这个问题措辞得很厉害之前,我的不好。但是,我确实设法完成了那部分,我将值存储在数据库中,我将其分配给每个答案。另外正如@octern提到的那样创建代码,这也非常方便,谢谢。

我感谢所有回复,以及您处理这个问题的时间。

5 个答案:

答案 0 :(得分:2)

是的,您可以将整数存储在数据库中。显然,你可以为这些整数分配你自己的意思。

答案 1 :(得分:2)

你可以。如果您的参与者使用HTML表单提交答案,只需将表单元素的VALUE属性设置为答案的数字代码,这就是数据库中的内容。

只需让非常,非常肯定您创建一个代码簿,这样您就可以确定哪个数字对应于未来的答案!您不希望依赖解析网页,这可能会随着时间的推移而发生变化。

答案 2 :(得分:2)

是的,你可以这样做。或者,您可以创建一个名为“possible_answers”的表,例如将id作为主键,将text作为问题。存储问题答案的表现在可以使用possible_answers表的外键,以确保保存的整数始终有效。

答案 3 :(得分:1)

有两种基本方法可以以相对简单的方式将值存储为整数,以便阅读和理解。

最简单的方法是将它们存储为ENUM,因为存储在行中的值实际上是ENUM声明中可能性列表的索引。 ENUMs的问题是必须事先知道可能的答案列表,并且列表需要保持相对静态,除非您希望每次想要维护该列表时都停止更改表的结构。

最灵活的方法是创建一个带有ID列的表(通常是auto_increment或某种类型的序列)以及用于该数字的标签。然后,原始表只是引用"其他"中的ID列。表。这通常称为外键引用。

在MySQL中,ENUM与外键引用的性能几乎完全相同。

答案 4 :(得分:0)

是的,您当然可以将整数存储在数据库中。请记住,如果这样做,您需要将这些整数“转换”为应用程序中的实际答案,可能需要使用switch语句。