Eexception is com.mysql.jdbc.MysqlDataTruncation: Data truncation: Data too long for column 'PIC' at

来源:互联网 发布:拉杆箱特卖淘宝 编辑:程序博客网 时间:2024/05/21 06:57

今天在测试往数据库存图像、读图像以及更新图像时,前面存和读都没问题,但是后面用一张新图new.jpg更新时就出现上面的异常,图像字段为img,BLOB类型。

   Data truncation即字段过长,放不下。网上找了半天都是关于编码的。即中文字符一个字符占据的空间是一个英文字符的两倍,因此而导致放不下。但是我这个是图像的存取,存取的是Binary Stream(字节流),所以我怀疑可能是图像文件过大,一查果不其然。

   old.jpg原图有55.6K,而new.jpg有92.3K。去查了下BLOB允许的最大值,如下:

    MySQL的四种BLOB类型

  类型               大小(单位:字节)

  TinyBlob         最大 255

  Blob              最大 65K

  MediumBlob  最大 16M

  LongBlob       最大 4G

   显然92.3K超出了BLOB的最大范围。

原创粉丝点击