可能重复:
在 MySQL 中存储非常大的整数
您好我正在创建一个浏览器游戏,分数可以高于 11 个字符。所以我了解到,它INT
可以保留 11 个字符以下的信息。
我可以保留它们的TEXT
格式吗,如果我这样做会不会有任何潜在的问题和风险?
谢谢。
可能重复:
在 MySQL 中存储非常大的整数
您好我正在创建一个浏览器游戏,分数可以高于 11 个字符。所以我了解到,它INT
可以保留 11 个字符以下的信息。
我可以保留它们的TEXT
格式吗,如果我这样做会不会有任何潜在的问题和风险?
谢谢。
是的,你可以,但首先尝试使用 bigint。是的,存在风险,例如,您将遇到一些错误,试图获取分数 > 任何值或精确某个值的字符
我会推荐BIGINT
,但请注意最大值BIGINT
为9223372036854775807
. 确保您可以处理来自OverFlow
ing的值
mysql> SELECT (9223372036854775807 + 1) as Result;
+-------------------------+
| Result |
+-------------------------+
| -9223372036854775808 |
+-------------------------+
为了在这种情况下使操作成功,请将值转换为无符号;
mysql> SELECT (CAST(9223372036854775807 AS UNSIGNED) + 1) as Result;
+-------------------------------------------+
| Result |
+-------------------------------------------+
| 9223372036854775808 |
+-------------------------------------------+