我可以将分数值保留在基于文本的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 |
+-------------------------------------------+
看见