在我的Rails 3应用中,我正在创建一个包含Book
列的ISBN
模型。此ISBN
值的长度为13个字符。我应该使用哪种类型来创建ISBN
列?我应该使用:integer
还是:string
? Rails中整数的最大大小是多少?
rails g scaffold Book title:string isbn:integer
答案 0 :(得分:4)
整数的最大大小取决于所使用的数据库。对于MySQL,它是2147483648(2 ^ 31,因为它是无符号整数。)我建议你将ISBN存储为字符串(如果可能的话,可能是CHAR(13)。)
答案 1 :(得分:1)
ISBN编号还包含字符,例如连字符( - ),显然您无法以整数形式存储。所以我建议你使用字符串。
答案 2 :(得分:0)
ISBN 978-7-111-27687-6
这样的ISBN,所以显然字符串是一个不错的选择
答案 3 :(得分:0)
我认为一个好的经验法则是当你需要对字段进行数学运算时(或者当你有可能在某个时候进行数学运算时)使用数字字段。如果没有,它是一个非常好的候选人成为一个字符串。