doris icon indicating copy to clipboard operation
doris copied to clipboard

[Bug] flink写Doris,表指定的默认值不生效

Open victoyzz opened this issue 2 years ago • 0 comments

Search before asking

  • [X] I had searched in the issues and found no similar issues.

Version

doris版本:1.1.5 flink-doris-connector 版本:1.14_2.12

What's Wrong?

1、首先我们有一张聚合模型的表,其中不少字段都设置了默认值。 比如 is_del 设置的默认值为0。 其语句为: is_del tinyint(2) REPLACE_IF_NOT_NULL NOT NULL DEFAULT '0' COMMENT '是否删除0否,1是' 2、通过数据库工具,用SQL,编写插入语句,只插入主键的值,其他字段都不填,其对应的默认值都能生效 3、Flink写Doris,由于上游kafka消息内容,并不是每次都会把所有字段的值传递给Flink消费,故此,flink写doris的数据是不完整的,比如is_del字段,需要自动生成默认值。 但是,我们遇到了问题,默认值并没有生效

神奇的是,通过show create table命令在doris 的控制台面板执行如下语句。看到is_del字段,变成 is_del tinyint(2) REPLACE_IF_NOT_NULL NULL DEFAULT '0' COMMENT '是否删除0否,1是'; 而不是建表指定的NOT NULL。

What You Expected?

默认值生效

How to Reproduce?

1、当前版本 doris版本:1.1.5 flink-doris-connector 版本:1.14_2.12

2、通过stream load,或者flink程序写doris。

3、doris建一张表即可,指定若干字段为 NOT NULL DEFAULT '0'

Anything Else?

Are you willing to submit PR?

  • [ ] Yes I am willing to submit a PR!

Code of Conduct

victoyzz avatar Mar 03 '23 02:03 victoyzz