前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >|ERROR|ERROR: missing data for column "createtime" (seg3 slice1 192.168.66.23:40001 pid=33370)之mys

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

作者头像
别先生
发布2018-08-27 16:34:59
4240
发布2018-08-27 16:34:59
举报
文章被收录于专栏:别先生别先生

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

代码语言:javascript
复制
1 |ERROR|ERROR:  missing data for column "createtime"  (seg3 slice1 192.168.66.23:40001 pid=33370)

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

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

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

代码语言:javascript
复制
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的字段,本不该出现回车和换行符的,如果是其他长文本字段,可以使用如下命令:

代码语言:javascript
复制
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),"%")

待续......

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2018-08-20 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
云数据库 SQL Server
腾讯云数据库 SQL Server (TencentDB for SQL Server)是业界最常用的商用数据库之一,对基于 Windows 架构的应用程序具有完美的支持。TencentDB for SQL Server 拥有微软正版授权,可持续为用户提供最新的功能,避免未授权使用软件的风险。具有即开即用、稳定可靠、安全运行、弹性扩缩等特点。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档