com.mysql.jdbc.MysqlDataTruncation: Data truncation: Data too long for column 'title' at row 1
2012-05-01 04:49
1001 查看
做实验用到wiki的数据,想要把xml格式的内容转存到数据库中,结果碰到了好多问题。
com.mysql.jdbc.MysqlDataTruncation: Data truncation: Data too long for column 'title' at row 1
从页面上输入中文保存到MySQL数据库时候就会出现上面的问题,并且输入的中文不是过长。这种情况下应该是字符集的问题。
建表语句为:
create table article
(
id int primary key auto_increment,
pid int,
rootid int,
title varchar(255),
content text,
pdate datetime,
isleaf int
)engine innodb default charset=gbk;
用命令:show table status like 'article'; 就可以看到表的状态信息,其中的Collation项为:gbk_chinese_ci,因此MYSQL JDBC连接参数要设置为一致:
String url = "jdbc:mysql://localhost/bbs? user=root&password=1234&useUnicode=true&characterEncoding=gbk";
Connection conn = DriverManager.getConnection(url);
后来发现我确实是在数据库中设置的text长度不够,mysql中text类型是可变长度的字符串,最多65535个字符;把字段类型改成MEDIUMTEXT(最多存放16777215个字符)或者LONGTEXT(最多存放4294967295个字符)就解决了。
com.mysql.jdbc.MysqlDataTruncation: Data truncation: Data too long for column 'title' at row 1
从页面上输入中文保存到MySQL数据库时候就会出现上面的问题,并且输入的中文不是过长。这种情况下应该是字符集的问题。
建表语句为:
create table article
(
id int primary key auto_increment,
pid int,
rootid int,
title varchar(255),
content text,
pdate datetime,
isleaf int
)engine innodb default charset=gbk;
用命令:show table status like 'article'; 就可以看到表的状态信息,其中的Collation项为:gbk_chinese_ci,因此MYSQL JDBC连接参数要设置为一致:
String url = "jdbc:mysql://localhost/bbs? user=root&password=1234&useUnicode=true&characterEncoding=gbk";
Connection conn = DriverManager.getConnection(url);
后来发现我确实是在数据库中设置的text长度不够,mysql中text类型是可变长度的字符串,最多65535个字符;把字段类型改成MEDIUMTEXT(最多存放16777215个字符)或者LONGTEXT(最多存放4294967295个字符)就解决了。
相关文章推荐
- com.mysql.jdbc.MysqlDataTruncation: Data truncation: Data too long for column 'title' at row 1
- com.mysql.jdbc.MysqlDataTruncation: Data truncation: Data too long for column 'title' at row 1
- Eexception is com.mysql.jdbc.MysqlDataTruncation: Data truncation: Data too long for column 'PIC' at
- com.mysql.jdbc.MysqlDataTruncation: Data truncation: Data too long for column 'title' at row 1
- Caused by: com.mysql.jdbc.MysqlDataTruncation: Data truncation: Data too long for column 'content' a
- 读取MYSQL中文数据乱码,解决data too long for column 'title' at row 1
- Cause: com.mysql.jdbc.MysqlDataTruncation: Data truncation: Data too long for column 'content' at ro
- ### Cause: com.mysql.jdbc.MysqlDataTruncation: Data truncation: Data too long for column 'articleTit
- com.mysql.jdbc.MysqlDataTruncation: Data truncation: Data too long for column 'sex' at row 1”
- Data truncation: Data too long for column '***' at row 1 的解决
- 数据库编码com.mysql.jdbc.MysqlDataTruncation: Data truncation: Data too long for column 'sex' at row 1
- Data truncation: Data too long for column 'name' at row 1的处理
- MysqlDataTruncation: Data truncation: Data too long for column 'headimg' at row 1
- com.mysql.jdbc.MysqlDataTruncation: Data truncation: Out of range value adjusted for column 'price'
- MySQL插入中文时出现ERROR 1406 (22001): Data too long for column 'name' at row 1
- MYSQL写入中文错误 —— Data too long for column 'xxx' at row 1
- Data truncation: Data too long for column 'big_bit' at row 1
- MySQL插入中文时出现ERROR 1406 (22001): Data too long for column 'name' at row 1
- java.sql.BatchUpdateException: Data truncation: Data too long for column 'site_name' at row 1
- Caused by: com.mysql.jdbc.MysqlDataTruncation: Data truncation: Data too long for column 'name' at r