问题:java.sql.SQLException: Data truncation: Data too long for column 'content' at row 1 Query遇到这个问题搜集的网上的一些解决方案:第一种解决办法:出自:http://www.blogjava.net/zoninge/archive/2009/04/15/265663.html感谢博主!在页面中向mysql5.0插入中文数据时提示失败,将sql语句复制到管理器中,数据库提示data too long for column "title",我改为一个汉字,还是提示同样的信息,换成英文再试一下,正常,应该是字符集除了问题,但是数据库在建立的时候就选择的DEFAULT_CHARSET,应该是字段的问题。将MySQL安装目录下的my.ini文件中的字符集配置如下(修改完之后,最好重启一下MySQL服务): [mysql] default-character-set=gbk [mysqld] default-character-set=gbk或者在my.ini里找到sql-mode=”STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION”把其中的STRICT_TRANS_TABLES,去掉,然后重启mysql就ok了 将表和字段的字符集属性都改成gbk。 在每一次MySqlCommand Execute语句时,如果SQL语句或者参数中包含中文,或者是返回的记录集中有中文(指Select的查询语句),就在这个Execute的SQL语句之前加一个SET NAMES GBK;。第二种解决方案:http://www.cnblogs.com/amboyna/archive/2008/04/21/1163110.html感谢博主!data too long for column xxx解决方案Update:mysql5在phpmyadmin无法连接时执行的语句:SET PASSWORD FOR ‘root’@'localhost’ = OLD_PASSWORD(’[newpassword]‘);刚才在导入数据的时候,navicat报错:Data too long for column ‘ip’ at row 1提示数据对于ip字段太长如果数据类型不正确,也会出错,而不像4.*那样自动转换:sendQuery:Incorrect datetime value: ‘未知’ for column ‘date’ at row 1如果是数据x (int 11)类型的可能有些奇怪:insert into a (x) values (’a')出现:Out of range value adjusted for column ‘x’ at row 1insert into a (x) values (’11a’)出现:Data truncated for column ‘x’ at row 1解决办法:在my.ini里找到sql-mode=”STRICT_TRANS_TABLES,NO_AUTO_Create_USER,NO_ENGINE_SUBSTITUTION”把其中的STRICT_TRANS_TABLES,去掉,然后重启mysql就ok了 参考博主转自:Trackback:[url] http://tb.blog.csdn.net/TrackBack.aspx?PostId=2032186[/url]关于MySQL5中varchar字段类型的长度定义:原文稍作了截取:http://hi.baidu.com/mcspring/blog/item/63f0dea25e8e7baacbefd0ad.html借此机会重新仔细读了一下MySQL5的文档,其中对varchar字段类型这样描述:varchar(m) 变长字符串。M 表示最大列长度。M的范围是0到65,535。(VARCHAR的最大实际长度由最长的行的大小和使用的字符集确定,最大有效长度是65,532字节)。为何会这般变换?真是感觉MySQL的手册做的太不友好了,因为你要仔细的继续往下读才会发现这段描述:MySQL 5.1遵从标准SQL规范,并且不删除VARCHAR值的尾部空格。VARCHAR保存时用一个字节或两个字节长的前缀+数据。如果VARCHAR列声明的长度大于255,长度前缀是两个字节。好了,貌似懂了一点。但具体他说的长度大于255时使用2个字节长度前缀,小学减法题:65535 - 2 = 65533啊。不知道这些大牛如何计算的,暂且保留疑问吧?注:我测试了一下使用UTF8编码,varchar的最大长度为21854字节。 ------------------------------------------------------------------可能人品不好 上面都没有解决我的问题。我把数据类型换成了longtext 长度不用设置就ok了