doris
doris copied to clipboard
[Bug] flink写Doris,表指定的默认值不生效
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
- [X] I agree to follow this project's Code of Conduct