首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >获取Mysql最大长数据长度

获取Mysql最大长数据长度
EN

Stack Overflow用户
提问于 2014-07-16 13:21:00
回答 1查看 4.6K关注 0票数 5

我将大约1.1MB的数据插入到类型为LONGBLOB的Mysql字段中。这与长from字段的最大支持长度相差很远。

插入似乎有效。

如果在插入之前执行strlen($data),则返回1059245。

如果在插入后执行查询:

代码语言:javascript
复制
SELECT OCTET_LENGTH(`data`)...

它返回1059245

但如果我做了

代码语言:javascript
复制
$stmt = $pdo->prepare("SELECT `data` FROM `tbl_mytable` WHERE `id` = :id LIMIT 1");
$stmt->bindValue(":id", $id, PDO::PARAM_INT);
$stmt->execute();
$data = $stmt->fetch(PDO::FETCH_ASSOC);
echo strlen($data['data']);

它返回1048576

我的数据似乎是1048576字节之后的数据。

为什么在执行查询时只接收数据的前1048576字节?

这是一个PDO配置吗,类似于max_fetch_length?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-07-16 13:42:22

默认情况下是1MB的MYSQL_ATTR_MAX_BUFFER_SIZE。

这就解决了问题:

代码语言:javascript
复制
    $pdo->setAttribute(PDO::MYSQL_ATTR_MAX_BUFFER_SIZE, 1024*1024*50);  // 50 MB      
票数 9
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24781930

复制
相关文章

相似问题

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