【发布时间】:2021-06-13 06:38:16
【问题描述】:
在我的研究中,我看过 MySql insert statement to binary datatype? 和 https://dba.stackexchange.com/questions/904/mysql-data-type-for-128-bit-integers
但我似乎无法复制他们的结果。
我正在将棋盘的 64 个方格转换为 64 位二进制数
像这样 000010010100010110100011011001000100011110001010001000100000110
我在 mysql 表中有一个二进制类型的列(8)
我的假设是它需要大小为 8 字节,因为它是 64 位,但是它声称我试图提供的输入太大。
我只能在二进制数据类型上找到很少的资源,我知道我一定犯了一些错误,我认为它试图将每个值作为字符读取,但我不知道为什么。
请帮助我如何将这么大的数字存储在我的表中。
【问题讨论】:
-
像
BLOB这样的“二进制”数据类型不代表数字,只是二进制数据。它们通常用于存储图像、MP3 音频、视频等。 -
啊我知道我一定是误解了它是什么类型,所以如果我需要存储两个 64 位数字,我应该把它分成两个 Big Int 吗? Big Int 的搜索速度如何?
-
这取决于您希望如何搜索和/或更新它。也许
UNSIGNED BIGINT或CHAR(64)会更容易。 -
这里是link 我解释了我打算做什么,我目前正在用信息填充一个虚拟数据库并运行一些测试以查看哪些数据类型可以让我获得最佳搜索速度并最小化空间