oracle迁移到mysql时insert数据到mysql text字段发现报字段不够长的问题

原创 2013年12月04日 14:29:15


今天开发说在从oracle迁移数据到msyql的测试过程中出现字段长度不够的问题,第一反应是字段设置太短,但是看过字段后发现不是这么简单

错误代码:

java.sql.BatchUpdateException: Data truncation: Data too long for column 'conditions' at row 1  

错误截图:


oracle 字段类型和长度:

varchar(4000)

mysql 字段类型和长度

text (uft8)

按道理插入不了这不因该

然后开始查找原因:

查看linux 系统变量 env 发现系统字符集为:

LANGUAGE=zh_CN.GB18030:zh_CN.GB2312:zh_CN

再次查看mysql配置my.cnf 查看字符集设置

[client]

#default-character-set = utf8
[mysqld]

character-set-server=utf8

发现客户端的字符集配置被注释了

打开后重启数据库,发现问题解决。


方法2:

在数据库连接参数中指定客户端字符集为utf8或set names utf8 都是可以的


先简单写到这吧,突然心头涌起一股蛋蛋的忧伤。

MySQL数据类型:TINYINT,SMALLINT,MEDIUMINT,INT,INTEGER,BIGINT;text,longtext,mediumtext,ENUM,SET等字段类型区别

MySQL支持大量的列类型,它可以被分为3类:数字类型、日期和时间类型以及字符串(字符)类型。本节首先给出可用类型的一个概述,并且总结每个列类型的存储需求,然后提供每个类中的类型性质的更详细的描述。概...

MYSQL 中利用insert对自增字段进行插值

mysql的insert/replace/update/delete & insert,update,delete多表操作 2008-03-28 15:44:10 from WriteDream...
  • ty_soft
  • ty_soft
  • 2012年02月14日 19:08
  • 14439

mysql中 text和blob字段类型比较区别

http://www.path8.net/tn/archives/955 1.blob是二进制大对象,可以容纳可变量数量的数据,其中blob分为4中类型:TINYBLOB,BLOB,mediumblo...
  • pestd
  • pestd
  • 2011年06月19日 11:38
  • 364

mysql text 字段过多解决方法

mysql text 字段过多解决方法 标签: mysql text 方法 | 发表时间:2014-09-25 16:09 | 作者:fqg05 分享到: 出处:http://www...

mysql中text,longtext,mediumtext字段类型的意思,以及区别

MySQL支持大量的列类型,它可以被分为3类:数字类型、日期和时间类型以及字符串(字符)类型。本节首先给出可用类型的一个概述,并且总结每个列类型的存储需求,然后提供每个类中的类型性质的更详细的描述。概...

(useAffectedRows)Mysql / Mybatis update时,字段不变返回值的问题

mysql 当执行一句update语句,但修改内容与原数据一致时,mysql本神返回的  受影响行数为0 ,在 控制台或者 客户端如navicat中都可看到 但jdbc/mybatis 返回的却是1,...

mysql 触发器 监听这个表插入时增加数据 在某字段变动时进行触发

mysql 触发器 监听这个表插入时增加数据 在某字段变动时进行触发

使用mysql插入数据时,对于自增字段的处理

在使用mysql数据库插入数据时,假如我们的主键自增,在后台编写代码时需要注意下面的情况: 先看下面一段代码: try{ Class.forName(driverName); }catch ...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:oracle迁移到mysql时insert数据到mysql text字段发现报字段不够长的问题
举报原因:
原因补充:

(最多只允许输入30个字)