数据插入时报错mysql:Data truncation: Data too long for column 'urlname' at row 1
问题表现:数据中urlname长度在1000+范围的,插入数据失败,而长度在1000以内的插入成功。插入成功的数据中,其他字段包含中文,中文显示正常,没有乱码问题。
Data truncation: Data too long for column 'name' at row 1
网上解决办法一堆:
方法一:
数据库字段长度确实短了。
这个方法已经试过好多次了,不行。
方法二:
字符编码问题。
各种编码问题,中文乱码,系统与数据库编码不一致,数据库中字段编码、表编码、库编码不一致问题。各种字符编码统统对照了一遍,没问题,都是u8,该方法无效。
方法三:
mysql驱动版本问题。
这个方法解决了我的问题。之前使用的mysql驱动包是5.0.3版本,更新为5.0.8之后,数据插入正常。至于原因是什么,等有时间再查吧。我已经被这个问题折磨了我好长时间了。
如果你看到这个问题,估计你也是在为这个 too long 烦恼,一般的话,方法一、二是可以解决问题的,多细心调试调试。