如何在MySQL数据库中存储一个数百位的非常大的数字?

如何在MySQL数据库中存储一个数百位的非常大的数字?,mysql,Mysql,我需要在数据库中存储具有数百或数千位数字(如999^999)的非常大的数字。我如何在MySQL中做到这一点?我应该使用什么数据类型 此外,我还需要对这些数字进行减法、比较和相加。使用MySQL可以在短时间内做到这一点吗?我知道这不是一个很好的答案,但Postgres绑定到多精度库。如果你的项目不太远,你可以考虑切换数据库。MySQL文档清楚地表明,整数支持在[BIGINT]上达到顶峰,这是一个8字节的存储,精度约为18个位置 该网站位于: 我找不到任何迹象表明有人使用MySQL中的外部绑定来做类

我需要在数据库中存储具有数百或数千位数字(如999^999)的非常大的数字。我如何在MySQL中做到这一点?我应该使用什么数据类型


此外,我还需要对这些数字进行减法、比较和相加。使用MySQL可以在短时间内做到这一点吗?

我知道这不是一个很好的答案,但Postgres绑定到多精度库。如果你的项目不太远,你可以考虑切换数据库。MySQL文档清楚地表明,整数支持在[BIGINT]上达到顶峰,这是一个8字节的存储,精度约为18个位置

该网站位于:


我找不到任何迹象表明有人使用MySQL中的外部绑定来做类似的事情。要在MySQL中实现这一点,您必须实现到像GMPLIB这样的库的外部绑定,或者将数据作为[STRING]或[BLOB]、[MEDIUMBLOB]类型之一存储在MySQL中,然后在代码中实现所有排序和操作。这是一项艰巨的任务

为什么要在数据库中存储这么大的数字?你能像字符串一样存储吗?当你说“有可能在短时间内做到这一点”时,你的意思是要编写实现这一点的代码,还是在谈论应用程序的潜在性能?你需要精确到最后一位吗?或者,你能像上面列出的那样存储你的数字吗?比较会变得很昂贵,在mysql中进行加减几乎不费吹灰之力,除非有人已经花了很大的精力扩展它来做大数字。你的问题背后的假设似乎是有问题的。这更多的是对原始问题的评论,而不是答案,因为它不能提供所问问题的实际答案。(问题是关于MySQL的,你的评论是指Postgres和GNU MP,两者都与MySQL无关。)很公平,我在评论中添加了更明确的MySQL限制和他的选项。