Data truncation: Data truncated for column/Data to



分类: Mysql/postgreSQL

 

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了