|ERROR|ERROR: missing data for column "createtime" (seg3 slice1 192.168.66.23:40001 pid=33370)之mys

1、最近的kettle的数据交换配置,启动kettle引起的错误,如下所示:

1 |ERROR|ERROR:  missing data for column "createtime"  (seg3 slice1 192.168.66.23:40001 pid=33370)

引发这个错误,并不是这个字段引起的错误,一般是这个字段临近的字段存在空格或者换行符引发的错误。

2、引发这个错误,并不是这个字段引起的错误,一般是这个字段临近的字段存在空格或者换行符引发的错误。为了问题重现,我新建一个数据库和数据表:

3、准备插入的正常数据,可以执行多条插入数据:

1 insert into user(name,age,birthday,sex) VALUES("张三",22,"2018-08-20","男");
2 insert into user(name,age,birthday,sex) VALUES("李四",21,"2018-8-20","男");
3 insert into user(name,age,birthday,sex) VALUES("王五",18,"2018-8-20","男");
4 insert into user(name,age,birthday,sex) VALUES("赵六",19,"2018-8-20","男");
5 insert into user(name,age,birthday,sex) VALUES("李白",20,"2018-8-20","男");
6 insert into user(name,age,birthday,sex) VALUES("安琪拉",43,"2018-8-20","女");
7 insert into user(name,age,birthday,sex) VALUES("亚瑟",32,"2018-8-20","男");
8 insert into user(name,age,birthday,sex) VALUES("鲁班",14,"2018-8-20","男");

然后执行查询结果是没有查询结果的:

CONCAT(str1,str2,…) 返回结果为连接参数产生的字符串。

4、然后插入一条换行的数据:

换行的数据可以如下所示造几条,这里造一条。

然后执行

insert into user(name,age,birthday,sex) VALUES("后 裔",14,"2018-8-20","男");

5、然后可以看到已经查询出来了这条换行的数据。

6、mysql函数。replace(string_expression , string_pattern , string_replacement),第一个参数:要查找的字段。第二个参数:要查找的字符。第三个参数:要替换成的字符。char(10)换行键。char(13)回车键。你会发现字段名称like 的concat里面是char(10)和char(13)都可以进行查询出结果的。

7、我要的结果就是将带有换行和回车的字符处理掉,然后执行交换。其他使用情况以后用到再贴。

8、最后说一下,这里是name的字段,本不该出现回车和换行符的,如果是其他长文本字段,可以使用如下命令:

1 -- 将char(10)换行键,char(13)回车键换成@#r;和@#n;
2 select REPLACE(REPLACE(name, char(10), '@#r;'), char(13), '@#n;') as name from user where name like CONCAT("%",char(13),"%")
3 
4 -- 将@#r;和@#换成nchar(10)换行键,char(13)回车键;
5 select REPLACE(REPLACE(name, '@#r;', char(10)), '@#n;', char(13)) as name from user where name like CONCAT("%",char(13),"%")

待续......

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏WindCoder

数组版个人通讯录-C语言

25320
来自专栏文渊之博

索引初探(三)

由于前一篇写的有点匆忙很多地方不是很简单,这一片再描述一些概念和细节。 首先,我们都知道在数据库中的存储分为两种结构,一是堆;二是B树。堆的数据是没有排序也就没...

19190
来自专栏小樱的经验随笔

基于约束的SQL攻击

前言 值得庆幸的是如今开发者在构建网站时,已经开始注重安全问题了。绝大部分开发者都意识到SQL注入漏洞的存在,在本文我想与读者共同去探讨另一种与SQL数据库相...

30690
来自专栏专注 Java 基础分享

初识Hibernate之关联映射(二)

     上篇我们介绍了关联映射的几种形式,有单向多对一,单向一对多,还有双向一对多。本篇接着介绍有关关联映射的其他几种映射方式,主要有以下几种: 基于外键的单...

23850
来自专栏GreenLeaves

oracle10g获取Date类型字段无时分秒解决办法!

一般的数据库中,DATE字段仅仅表示日期,不包括日期信息,而Oracle数据库中的DATE数据类型是包括日期、时间的,对于不同的Oracle jdbc驱动版本,...

21250
来自专栏difcareer的技术笔记

C代码 从源代码到可执行文件——编译全过程解析

程序的生命周期从一个高级C语言程序开始,这种形式能够被人读懂,却不能被机器读懂,为了在系统上运行这个程序,该源程序需要被其他程序转化为一系列低级机器语言指令,然...

60050
来自专栏程序员的SOD蜜

抽象SQL查询:SQL-MAP技术的使用

什么是参数化查询?我们来看百科对此的定义和示例: 一,定义 --------------------------------------------------...

315100
来自专栏mathor

SQL注入

 其中,un和pwd都是String类型的变量,这是一个很明显的SQL注入漏洞,假设我令

65160
来自专栏JavaWeb

Mysql索引原理深入剖析

37030
来自专栏文渊之博

TSQL--临时表和表变量

1. 临时表适用数据量较大的情况,因为临时表可以建立索引 2. 表变量适用于数据较小的情况,表变量只能在定义时创建约束(PRIMARY KEY/UNIQUE)从...

22190

扫码关注云+社区

领取腾讯云代金券