首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么我的MySQL数据列中只保存了64kB的数据?

问为什么我的MySQL数据列中只保存了64kB的数据?
EN

Stack Overflow用户
提问于 2009-01-03 20:28:37
回答 4查看 9.6K关注 0票数 12

我试图将一个非常长的文本字符串插入到一个MySQL Blob列中,但是MySQL只保存了64kB的数据。该字符串的长度为75360个字符。我正在连接PHP的mysql_connect()。

有什么想法吗?

是Blob还是Text有区别吗?我最初将其作为文本,但更改后没有任何影响。

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2009-01-03 20:31:13

因为这是BLOB列的maximum size。需要使用MEDIUMBLOB/LONGBLOB或MEDIUMTEXT/LONGTEXT。

票数 30
EN

Stack Overflow用户

发布于 2009-01-03 20:36:29

MySQL中的BLOB类型最多可以存储65,534个字节,如果您尝试存储的数据量超过此数量,MySQL将截断数据。MEDIUMBLOB最多可存储16,777,213字节,LONGBLOB最多可存储4,294,967,292字节。

如果您启用了strict SQL模式(MySQL modes),那么当您尝试存储不适合列类型的数据时,您将得到一个错误。

票数 6
EN

Stack Overflow用户

发布于 2009-01-03 23:39:45

您还问到BLOB和文本之间是否有区别

BLOBS用于二进制数据。如果在BLOB字段上执行LIKE查询,它将区分大小写。

即

代码语言:javascript
复制
SELECT 'TEXT' LIKE 'TEXT';
=> 1 for both BLOB and TEXT

SELECT 'TEXT' LIKE 'text';
=> 1 for TEXT
=> 0 for BLOB
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/409761

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档