我有一个在线游戏的数据库,我需要存储用户玩游戏的总分。每次用户结束比赛时,他的分数将自动更新。 我试图将此分数保持为VARCHAR,然后从脚本中检索它,解析为int,添加最后一个分数,再次解析为字符串,以及更新数据库。但正如我所看到的,php无法管理大数字。我该怎么办?
答案 0 :(得分:2)
MySQL有BIGINT
类型。 PHP本身与BIGINT
完美配合。
除非你想要比这更大的数字,否则我不知道为什么你会使用其他任何东西。
注意:无符号BIGINT是BIGINT
的两倍 unsigned BIGINT
可以存储的数字最多为: 18,446,744,073,709,551,615
signed BIGINT
可以存储以下数字: 9,223,372,036,854,775,807 (或者在结尾处使用8
)
所以基本上,你可以存储大约1,8 * 10 ^ 19的数字。需要更多?然后查看BC
at the other answer here。
作比较:
在INT
时,unsigned
最多可以存储 2,147,483,647 或两倍,这意味着BIGINT
大致 4,294,967,295 次大于INT
。是。 BIGINT
基本上非常接近INT^2
答案 1 :(得分:0)