MySQL 插入的长字符串被截断问题

本文探讨了一种MySQL在插入长字符串时遇到的截断现象,并深入分析了可能的原因,最终确定为net_buffer_length配置限制所导致。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

MySQL 出现了一个问题,插入一个长字符串(二十几KB)结果导致被截断。
首先排除了数据类型的问题,用的 mediumtext 类型。
接着排除了PHP 的问题,因为取出 SQL 直接在 MySQL 中执行还是被截断。
发现一点很奇怪,截断的那个长字符串差不多很接近 8KB,如果加上其他字段的内容,可能正好等于 8KB。
在网上搜了一下可能和以下两项设置有关:
    [mysqld]
    max_allowed_packet = 1M
    net_buffer_length = 8K
但是我的 mysql 中 max_allowed_packet 有 1M,排除,剩下的 net_buffer_length 就正好符合这个 8KB 的条件。
应该就是它没错了。


如果大牛看到,发现不对,还请多多指教!



INSERT INTO errorlog (
`level`, 
`description`, 
`file`, 
`line`, 
`url`, 
`context`, 
`dateline`
) VALUES (
'1024', 
'Error: [1024] hello world @ file:E:\abc.php line 150', 
'E:\abc.php', 
'150', 
'www.hapiwo.com/index.php?mod=abc', 
'[long_string...]', 
'0'
)
#end
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值