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)

  • 相关阅读:
    HTML5 ViewPort 资料收集
    [ASP.NET 技术点滴] Jquery 前端验证
    [转帖]Asp.NET 弹出页面
    [转]ASP.NET 页生命周期概述
    C#时间转整型(时间戳),模仿php strtotime函数的部分功能
    [转]使用微软的官方类库CHSPinYinConv获得汉字拼音
    [转]ASP.NET数据库连接字符串总结
    gradle 生成 pom,引用mybatis-plus源代码到自己的工程中
    困扰的问题终于解决了-docker时区不正确的问题修改记
    mybatis plus3.1.0 热加载mapper
  • 原文地址:https://www.cnblogs.com/fengweixin/p/3842547.html
Copyright © 2011-2022 走看看