为什么我的MySQL数据列中只保存了64kB的数据?
题
我试图将一个很长的文本字符串插入MySQL Blob列,但MySQL只保存了64kB的数据。该字符串长度为75360个字符。我正在使用PHP的 mysql_connect()
。
有什么想法吗?
如果它是Blob或Text,它会有所不同吗?我最初把它作为文本但是没有任何影响地改变它。
解决方案
因为那是BLOB的最大尺寸柱。您需要使用MEDIUMBLOB / LONGBLOB或MEDIUMTEXT / LONGTEXT。
其他提示
MySQL中的 BLOB
类型最多可存储65,534字节,如果您尝试存储的数据超过这么多数据,MySQL将截断数据。 MEDIUMBLOB
最多可存储16,777,213字节, LONGBLOB
最多可存储4,294,967,292字节。
如果启用严格SQL模式( MySQL模式)当您尝试存储不适合列类型的数据时,您将收到错误。
您还询问BLOB和TEXT之间是否存在差异 BLOBS用于二进制数据。如果对BLOB字段执行LIKE查询,则它将区分大小写。
即
SELECT 'TEXT' LIKE 'TEXT';
=> 1 for both BLOB and TEXT
SELECT 'TEXT' LIKE 'text';
=> 1 for TEXT
=> 0 for BLOB
blob列仅为每个文档<64Kb 一>
尝试使用中型柱类型...
不隶属于 StackOverflow