报错:

2017-03-13 10:16:43,159 ERROR [org.hibernate.util.JDBCExceptionReporter] - Data truncation: Data too long for column 'value' at row 1
2017-03-13 10:16:43,167 ERROR [org.hibernate.event.def.AbstractFlushingEventListener] - Could not synchronize database state with session
org.hibernate.exception.DataException: Could not execute JDBC batch update
at org.hibernate.exception.SQLStateConverter.convert(SQLStateConverter.java:77)
at org.hibernate.exception.JDBCExceptionHelper.convert(JDBCExceptionHelper.java:43)
at org.hibernate.jdbc.AbstractBatcher.executeBatch(AbstractBatcher.java:249)
at org.hibernate.engine.ActionQueue.executeActions(ActionQueue.java:235)
at org.hibernate.engine.ActionQueue.executeActions(ActionQueue.java:140)

可能的原因:

1.数据库里的表设置的字符集不相同;

2.数据字段太长。

我遇到的是第二种,将varchar改为text后,问题解决,解决方法是:在数据库里将这个字段类型设为text或者更大的longtext类型。

查看表的字符集:SHOW CREATE TABLE cmf_party; 
查看列的字符集:SHOW FULL COLUMNS FROM cmf_party;
查看数据库的字符集:SHOW CREATE DATABASE xingfu;

如果是第一种,则先修改数据库默认编码:

ALTER DATABASE `xingfu` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;

修改表的编码:ALTER TABLE `表名` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;

修改表字段的编码ALTER TABLE `表名` CHANGE `字段名` `字段名` VARCHAR( 45 ) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL;

查看你表的编码和表中字段的编码格式:在表上点击右键——表讯息——DDL 可以看到表和字段的编码格式,要是跟你配置文件中的不一致的话修改就OK了,修改方法:在表上点击右键——设计表——选项——字符集 ,然后点击你表中的每个字符串字段,查看下面的字符集编码是否一致。

字段太长,无法录入数据库相关推荐

  1. 如何解决动态查询语句太长,大于数据库字符的最大长度

    上周,在写sql server2005数据库存储过程的时候,用到了动态查询语句,但是由于语句太长,定义的变量最长为varchar(8000),在字符串大于8000的时候,数据库会做截断,进而在执行动态 ...

  2. Laravel 5.4: 特殊字段太长报错 420000 字段太长

    laravel 5.4 改变了默认的数据库字符集,现在utf8mb4包括存储emojis支持.如果你运行MySQL v5.7.7或者更高版本,则不需要做任何事情. 当你试着在一些MariaDB或者一些 ...

  3. 【解决方案】Oracle插入/更新CLOB字段报ORA-01704:字符串文字太长

    [解决方案]Oracle插入/更新CLOB字段报ORA-01704:字符串文字太长 解决办法: 1.如果插入的SQL比较少,那么可以人工处理.方法是使用PLSQL Developer软件,命令为:se ...

  4. 运维手册——Mysql索引字段长度太长报错

    声明:这是我在大学毕业后进入第二家互联网公司学习的内容 背景 Mysql执行Create Table语句时报错 Specified key was too long; max key length i ...

  5. oracle insert汉字出错,Oracle数据库之Oracle批量插入数据SQL语句太长出错:无效的主机/绑定变量名...

    本文主要向大家介绍了Oracle数据库之Oracle批量插入数据SQL语句太长出错:无效的主机/绑定变量名,通过具体的内容向大家展现,希望对大家学习Oracle数据库有所帮助. Oracle数据库,用 ...

  6. mysql键太长_数据库,主键为何不宜太长长长长长长长长?(转)

    本文来自微信公众号 继续回答星球水友提问: 沈老师,我听网上说,MySQL数据表,在数据量比较大的情况下,主键不宜过长,是不是这样呢?这又是为什么呢? 这个问题嘛,不能一概而论: (1)如果是Inno ...

  7. mysql 表列数 字段数 太多_数据库字段太多有什么问题

    [ 在 Knightmare (梦醒时分) 的大作中提到: ] : 标  题: Re: 数据库字段太多有什么问题 : 发信站: 水木社区 (Sat Jul 30 14:35:23 2011), 站内 ...

  8. oracle字段大段字符串,ORACLE存储过程,参数目字符串太长

    ORACLE存储过程,参数字符串太长 在做存储过程开发的时候,需要拼SQL语句,比如 DECLARE V_SQL VARCHAR2(32000); BEGIN V_SQL := 'INSERT INT ...

  9. datagrid如何获取一行数据中的某个字段值_使用Mysql 数据库 新手常见问题

    松勤软件测试 坚持教育初心 既问收获也问耕耘 平时用惯了 SQL Server 和 Oracle,基本语法已定型,导致在Mysql数据库操作时经常会报错 1.mysql 中如果字段是字符类型(含中文) ...

最新文章

  1. SDWC2017游记
  2. java实现大整数的加减乘除法(百练OJ:2736、2737、2980、2981)
  3. Linux 添加新用户账号并赋予root权限
  4. Thread 线程同步、线程状态
  5. delphi 更改DBGrid 颜色技巧
  6. python语言的主网址-Python爬取网址中多个页面的信息
  7. React-Native入门指南——第七篇动手写组件
  8. 转载:SQL入门教程
  9. linux快速解压缩,快速了解linux压缩与解压
  10. 图书信息管理系统(一)
  11. 软件测试面试题之非技术面试(GZH:软件测试大本营)
  12. 国产数据库---GBase进入Gartner DMSA魔力象限
  13. ubuntu 18.04 使用intel核显画面撕裂解决办法
  14. 改变 el-dialog 的宽度
  15. Unity3D之协程(Coroutines Yield )
  16. 大学c语言基础 Turbo C2.0 (32位/64位通用)
  17. Android源代码编译的准备工作
  18. Java面试题目,CAS都不了解,你还怎么看J-U-C不可思议!
  19. python有四个数字_Python生成0-9任意4位数字组合的方法
  20. 第二篇 树莓派基本外设基础篇

热门文章

  1. 中移M5310-A通过AT指令MQTT连接阿里云物联网平台并进行数据互传
  2. 短信验证码泄露怎么办?
  3. 《淘宝大学-电商运营管理》
  4. 中国大学排名定向爬虫以及淘宝商品爬虫参考嵩天老师Python爬虫课程遇到的问题及解决
  5. 服务窗 菜单 php,支付宝服务窗API接口开发php版本
  6. AutoHotKey 操作鼠标进行移动托动点击
  7. 一个ICESat-2数据下载的保姆教程(downthemall)
  8. 《选择卓越的“政治”》---诺贝尔奖的见不得人的一面
  9. ST2921B燃料电池双极板炭纸垂直电阻率测试仪炭纸接触电阻测试仪
  10. Nginx配置SSL证书(CentOS环境),实现https请求