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

欢迎大家访问我自己架的博客站点 码厩技术博客

 

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
posted @ 2012-09-03 14:46  CatRoll  阅读(2810)  评论(1)    收藏  举报