我可以将分数值保留在基于文本的MySQL位置吗?

我可以将分数值保留在基于文本的MySQL位置吗?,mysql,sql,Mysql,Sql,可能重复: 你好,我正在创建一个浏览器游戏,分数可以超过11个字符。所以我知道INT可以保存长度小于11个字符的信息 我是否可以将它们保存为文本格式,如果这样做,是否存在任何潜在问题和风险 谢谢。是的,您可以,但首先尝试使用bigint。 是的,这是有风险的,例如,您将有一些bug试图获取具有score>任意值或精确某个值的字符 我会推荐BIGINT,但要注意BIGINT的最大值是9223372036854775807。确保您可以处理溢出ing中的值 mysql> SELECT (922

可能重复:

你好,我正在创建一个浏览器游戏,分数可以超过11个字符。所以我知道
INT
可以保存长度小于11个字符的信息

我是否可以将它们保存为
文本
格式,如果这样做,是否存在任何潜在问题和风险


谢谢。

是的,您可以,但首先尝试使用bigint。 是的,这是有风险的,例如,您将有一些bug试图获取具有score>任意值或精确某个值的字符

我会推荐
BIGINT
,但要注意
BIGINT
的最大值是
9223372036854775807
。确保您可以处理
溢出
ing中的值

mysql> SELECT (9223372036854775807 + 1) as Result;
+-------------------------+
| Result                  |
+-------------------------+
|    -9223372036854775808 |
+-------------------------+
为了使操作在这种情况下成功,请将该值转换为unsigned

mysql> SELECT (CAST(9223372036854775807 AS UNSIGNED) + 1) as Result;
+-------------------------------------------+
| Result                                    |
+-------------------------------------------+
|                       9223372036854775808 |
+-------------------------------------------+
看见