zoukankan      html  css  js  c++  java
  • com.mysql.jdbc.MysqlDataTruncation: Data trunca...

    连接的是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后,问题解决。

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

    (转自:http://my.oschina.net/smile622/blog/106143)

  • 相关阅读:
    三步搭建精准召回体系,挽回流失用户
    HMS Core Insights第二期直播预告——华为定位技术让你重拾方向感
    如何区分router.push跳转快应用的来源渠道
    华为预测服务的构建原理是什么?该如何训练模型?
    HarmonyOS开发者日干货资料,奉上!
    技术硬核、体验新颖……HarmonyOS开发者日最值得关注的点都在这里
    Js中Proxy对象
    迭代器模式
    ed命令
    百度实习生前端面试面经
  • 原文地址:https://www.cnblogs.com/fengweixin/p/3842547.html
Copyright © 2011-2022 走看看