我的数据库是mysql5.0,执行一个update语句时,总是失败,语句长度大概3000多字节,后来发现无乱把哪个字段的值拿掉几个字,只要缩短长度就能执行成功。怀疑是mysql语句有长度限制,但又没听说过,请哪位高手给指条明路。

解决方案 »

  1.   

    补充一句,错误信息是,Got error 139 from storage engine
      

  2.   

    请楼上的大哥帮google和baidu一下,小弟知识浅薄,没g到也没b到啊,有一个答案在my.ini里加max_allowed_packet=6M   
    net_buffer_length=4K试了,但是不对。寻找高手
      

  3.   

    应该不是sql语句过长的问题,试过很多次,我把其他字段都填满啦,只留这个一个测试,sql为:
    UPDATE UNIONMST SET NameFi = 
                '機関名組合名称'
    WHERE          UnionID = 
                'U00031'现在这条语句只要把'機関名組合名称'去掉一个字就能执行,感觉是数据库空间不够用,但是新插入一条纪录也没问题(只要数据不是很多)
    现在问题是一条纪录只要所有字段都路的足够长,就会出现Got   error   139   from   storage   engine,执行失败
      

  4.   

    和sql没有任何关系,直接用phpadmin改数据,就出现这样的错误
      

  5.   

    终于用头疼的e文弄明白啦,innodb的单条记录最大只能到8000字节,超长就会出错。
      

  6.   

    长知识了。以前还没发觉,sql语句也有限制。。