为什么我的 MySQL 数据列中只保存了 64kB 数据?
我试图将一个很长的文本字符串插入到 MySQL Blob 列中,但 MySQL 只保存了 64kB 的数据。 该字符串的长度为 75360 个字符。 我正在使用 PHP 的 mysql_connect()
连接。
有任何想法吗?
它是 Blob 还是 Text 有区别吗? 我最初将其作为文本,但对其进行了更改,但没有任何影响。
I am trying to insert a very long text string into a MySQL Blob column, but MySQL is only saving 64kB of the data. The string is 75360 characters long. I am connecting with PHP's mysql_connect()
.
Any ideas?
Does it make a difference if it's Blob or Text. I originally had it as a Text but changed it with no affect.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
因为这是 BLOB 列的最大大小。 您需要使用 MEDIUMBLOB/LONGBLOB 或 MEDIUMTEXT/LONGTEXT。
Because that's the maximum size of a BLOB column. You need to use MEDIUMBLOB/LONGBLOB or MEDIUMTEXT/LONGTEXT.
MySQL 中的 BLOB 类型最多可以存储 65,534 字节,如果您尝试存储超过这么多的数据,MySQL 将截断数据。
MEDIUMBLOB
最多可存储 16,777,213 字节,LONGBLOB
最多可存储 4,294,967,292 字节。如果启用严格 SQL 模式(MySQL 模式 )当您尝试存储不适合列类型的数据时,您将收到错误。
A
BLOB
type in MySQL can store up to 65,534 bytes, if you try to store more than this much data MySQL will truncate the data.MEDIUMBLOB
can store up to 16,777,213 bytes, andLONGBLOB
can store up to 4,294,967,292 bytes.If you enable strict SQL mode (MySQL modes) you will get an error when you try to store data that doesn't fit in the column type.
您还问BLOB和TEXT之间是否有区别
BLOBS 用于二进制数据。 如果对 BLOB 字段执行 LIKE 查询,它将区分大小写。
IE
You also asked if there is a difference between BLOB and TEXT
BLOBS are for binary data. If you do a LIKE query on a BLOB field it will be case sensitive.
i.e.
每个 文档 中的 blob 列只有
64Kb改为 Mediumblob 列类型...
The blob column is only 64Kb per the documentation
Try a mediumblob column type instead...