原因:
新版本的MySQL对字段的严格检查。 通常在Linux下安装完mysql后,默认的sql_mode值是空,在这种情形下mysql执行的是一种不严格的检查,如果要插入的字段长度超过列定义的长度,那么mysql不会终止操作,而是会自动截断后面的字符继续插入操作!但是在windows下面却不会这样。而是直接终止报出上面的错误!


解决方法

修改my.cnf

sql_mode = ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION


主要是去掉了:

STRICT_TRANS_TABLES


参考:

http://www.fyhqy.com/post-225.html