Kettle5 数据流中空字符串和NULL值的问题说明
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Kettle5 数据流中空字符串和NULL值的问题说明相关的知识,希望对你有一定的参考价值。
最近在给开发通过kettle倒每天的增量数据时候,发现执行报错了,提示目标表的某个字段存在not null 约束
原因:kettle默认情况下,空字符串和NULL是当做一样的。 an empty string and null are different.
复现环境说明:
1、 kettle5
2 、源机和目标机器 的sql_mode都是空。
3、表结构类似下面这种
CREATE TABLE `com_t1_his` ( `t_id` int(11) NOT NULL AUTO_INCREMENT COMMENT '自增ID', `t_t1time` int(11) DEFAULT NULL COMMENT '支付时间', `t_hash` varchar(128) NOT NULL DEFAULT '' COMMENT '随机码', PRIMARY KEY (`t1_id`) ) ENGINE=InnoDB AUTO_INCREMENT=1111111 DEFAULT CHARSET=utf8
解决方法:
以kettle5为例。
KETTLE_EMPTY_STRING_DIFFERS_FROM_NULL 设置为Y 保存记录
软件中对此的描述为: NULL vs Empty String. If this setting is set to Y, an empty string and null are different. Otherwise they are not.
以上是关于Kettle5 数据流中空字符串和NULL值的问题说明的主要内容,如果未能解决你的问题,请参考以下文章