`
exceljava
  • 浏览: 160253 次
  • 性别: Icon_minigender_1
  • 来自: 武汉
社区版块
存档分类
最新评论

mysql Data too long for column问题

阅读更多

整合spring,struts,ext做一个系统,连接的是mysql数据库,插入数据时,控制台报:

com.mysql.jdbc.MysqlDataTruncation: Data truncation: Data too long for column 'user_name' at row 1
错误,具体信息如下:

严重: Servlet.service() for servlet default threw exceptio
com.mysql.jdbc.MysqlDataTruncation: Data truncation: Data too long for column 'user_name' at row 1
 at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:2868)
 at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:1573)  
 at com.mysql.jdbc.ServerPreparedStatement.serverExecute(ServerPreparedStatement.java:1160)
 at com.mysql.jdbc.ServerPreparedStatement.executeInternal(ServerPreparedStatement.java:685)
 at com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:1400)
 at com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:1314)
 at com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:1299)
 at com.mchange.v2.c3p0.impl.NewProxyPreparedStatement.executeUpdate(NewProxyPreparedStatement.java:105)
 at org.springframework.jdbc.core.JdbcTemplate$2.doInPreparedStatement(JdbcTemplate.java:745)
 at org.springframework.jdbc.core.JdbcTemplate.execute(JdbcTemplate.java:538)
 at org.springframework.jdbc.core.JdbcTemplate.update(JdbcTemplate.java:739)
 at org.springframework.jdbc.core.JdbcTemplate.update(JdbcTemplate.java:797)
 at org.springframework.jdbc.core.JdbcTemplate.update(JdbcTemplate.java:805)
 at com.bester.blog.dao.impl.UserDAOImpl.add(UserDAOImpl.java:25)
 at com.bester.blog.service.impl.UserServiceImpl.add(UserServiceImpl.java:12)
 at com.bester.blog.web.action.UserAction.add(UserAction.java:30)
 at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
 at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
 at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
 at java.lang.reflect.Method.invoke(Method.java:597)
 ........................

看着这错误信息,怎么有似曾相识的感觉呢。但就是记不起来了。根据字面意思,一位是输入超出范围了。但我的user_name字段设置的是varchar(45),只输入了三个中文,怎么可能超出呢?

google一下,一看到字符设置字眼,忽然想起以前碰到过这个问题的。只是早以到了九霄云外罢了。

原因在于:建表的时候,表的编码和字段编码都是默认的latin1,设置为utf8后,问题解决。

俗话说,人不能两次踏入同一条河流,我算破戒了。

分享到:
评论
1 楼 tony0101 2012-07-17  
呵呵,谢谢总结的很对

相关推荐

    ERROR 1406 : Data too long for column 解决办法

    在MySQL数据库操作中,当你尝试插入或更新一行数据时,如果某个字段的值超过了该字段定义的最大长度,系统会抛出“ERROR 1406 : Data too long for column”的错误。这个错误提示非常直接,意味着你试图输入的数据在...

    MySql写入中文错误解决

    在 MySQL 中,当我们尝试导入中文字符时,总是报错“Data too long for column XX at row n”。这个问题的主要原因是 MySQL 的默认编码为 gb2312,而我们通常使用的 UTF-8 编码,这两个编码之间的差异导致了这个问题...

    mysql5.0乱码的解决实例

    在MySQL 5.0中,乱码问题是一个常见的困扰,...同时,对于“data too long for column”的问题,需要根据实际情况调整字段长度或类型,以满足数据存储需求。在实践中,对字符集的理解和正确使用是预防此类问题的基石。

    大牛总结 MySql常见错误集锦

    10. 错误1406: Data too long for column 'column_name' at row 1 插入的数据长度超过了列的最大允许长度。调整数据的大小,或者增大列的长度限制。 这些错误只是MySQL使用过程中可能遇到的一部分,理解和解决这些...

    Mysql中文乱码问题完美解决方案.docx

    - `com.mysql.jdbc.MysqlDataTruncation: Data truncation: Data too long for column` 错误表示数据长度超过了列的允许长度,这通常不是字符集问题,而是字段长度不足。需检查对应列的定义并调整其大小。 7. **...

    mysql乱码问题解决方案

    **问题1:** 当插入数据时出现“Data truncation: Data too long for column”错误。 **解决方法:** - 检查字段长度是否足够。 - 考虑增加字段的长度或者调整数据以适应现有的字段长度。 **问题2:** 应用程序抛...

    如何解决MYSQL数据中文乱码问题.docx

    如果字段长度足够,但插入中文字符时仍然收到“Data too long for column”错误,那可能是因为字段的字符集不支持中文字符。确保字段的字符集与数据库的字符集兼容。 7. **查询结果的字符集**: 除了数据库和字段...

    mySQL 乱码问题解决方案

    在处理MySQL数据库时,中文乱码问题是一个常见的挑战,尤其对于使用GBK编码的系统迁移到UTF-8编码的场景。本文将深入探讨如何彻底解决MySQL中的中文乱码问题,涵盖从数据库、表、字段到连接参数等全方位的调整策略。...

    MySQL text插入长文本时报错Incorrect string value xE5x8FxAC.pdf

    在实际操作中,如果你的文本是以“口”或者其他中文字符结尾,并且超过了`TEXT`字段的长度限制,MySQL不会像预期那样抛出“Data too long”的错误,而是会抛出“Incorrect string value”的错误,因为它无法正确地...

    MySQL实现类似于connect_by_isleaf的功能MySQL方法或存储过程

    但是,由于返回的结果是字符串,当子集数量庞大时,可能会导致`Data too long for column`的错误,因为它受到列的最大长度限制。 ```sql CREATE FUNCTION `lvtao_demo_a`(rootId int) RETURNS text CHARSET utf8 ...

    PHP+MYSQL 出现乱码的解决方法

    如果遇到`Data too long for column`错误,检查字段类型和长度。 2. **数据库创建时指定字符集**:在创建数据库时明确指定字符集,如`CREATE DATABASE db_name CHARACTER SET utf8 COLLATE utf8_general_ci;` 3. **...

    探究MySQL中varchar的定义长度

    在上面的例子中,当尝试向`VARCHAR(10)`列插入`12345678901`时,由于超过了10个字节(10个英文数字字符共10字节),MySQL返回了`ERROR 1406 (22001): Data too long for column 'name' at row 1`错误。同样,当尝试...

    Delphi7.1 Update

    * When the size of a Persistent field in TClientDataSet is set too large, it overwrites neighboring fields upon Post (Quality Central 3974). * TDataSetProvider generates incorrect SQL in response to ...

    oracle学习文档 笔记 全面 深刻 详细 通俗易懂 doc word格式 清晰 连接字符串

    认真听课、多思考问题、多动手操作、有问题一定要问、多参与讨论、多帮组同学 五、 体系结构 oracle的体系很庞大,要学习它,首先要了解oracle的框架。oracle的框架主要由物理结构、逻辑结构、内存分配、后台进程...

    PHP基础教程 是一个比较有价值的PHP新手教程!

    如果你的机器解决了2000问题,那么PHP也一样没有千年虫问题! 1.1 历史 三年前,Rasmus Lerdorf为了创建他的在线简历而创造了"个人主页工具"(Personal Home Page Tools)。这是一种非常简单的语言。其后越来越多...

Global site tag (gtag.js) - Google Analytics