分类: Mysql/postgreSQL
2008-05-12 15:42:18
Data truncation: Data truncated for column 'content' at row 1这样的错误是很常见的,特别是使用mysql数据库。 也不知道为什么会出现这样的错误 ,但是我知道怎么修改
出现这样的错误原因:
1.数据库中content字段的长度不够,可能太短了。
2.乱码问题造成的。
解决的办法:
1.加长字段的长度。
2.乱码问题一直是mysql的头疼问题。
mysql5.0+myeclipse4.1+tomcat5.0 全部使用默认编码方式
(1):插如数据到mysql中:
在页面上加入本页的编码方式
<%@ page contentType="text/html;charset=gb2312" % >
2:从mysql中读出数据到页面:
依然在页面上加如编码方式
<%@ page contentType="text/html;charset=gb2312" % >
request.setCharacterEncoding("gb2312"); 这里一定设置为gb2312的。
String sel = request.getParameter("sel");
在书写链接数据库的类中
String url="jdbc:mysql://localhost:3306/zeyu?user=root&password=root&Unicode=true&characterEncoding=UTF-8";
这样你的程序就不会出现乱码问题,所以上面的情况也不会出现,但是我就是不明白,为什么乱码问题能够导致Data truncation: Data truncated for column 'content' at row 1 这样的错误, 呵呵。 能解决就行了。。。
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 1
insert 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了