我应该为这个数字使用Rails整数或字符串吗?

时间:2010-08-31 01:19:59

标签: ruby-on-rails

在我的Rails 3应用中,我正在创建一个包含Book列的ISBN模型。此ISBN值的长度为13个字符。我应该使用哪种类型来创建ISBN列?我应该使用:integer还是:string? Rails中整数的最大大小是多少?

rails g scaffold Book title:string isbn:integer

4 个答案:

答案 0 :(得分:4)

整数的最大大小取决于所使用的数据库。对于MySQL,它是2147483648(2 ^ 31,因为它是无符号整数。)我建议你将ISBN存储为字符串(如果可能的话,可能是CHAR(13)。)

答案 1 :(得分:1)

ISBN编号还包含字符,例如连字符( - ),显然您无法以整数形式存储。所以我建议你使用字符串。

答案 2 :(得分:0)

这是像ISBN 978-7-111-27687-6这样的ISBN,所以显然字符串是一个不错的选择

答案 3 :(得分:0)

我认为一个好的经验法则是当你需要对字段进行数学运算时(或者当你有可能在某个时候进行数学运算时)使用数字字段。如果没有,它是一个非常好的候选人成为一个字符串。