版本 doris-2.1.2-rc04
背景是在数据更新的过程中想让doris自动记录下数据第一次创建的时间和后续的更新时间。
CREATE TABLE `test_insert` (
`id` INT NOT NULL COMMENT 'ID',
`status` INT NULL COMMENT '状态',
`delete_flag` CHAR(1) NOT NULL DEFAULT "N" COMMENT '是否删除',
`date_created` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`created_by` INT NOT NULL DEFAULT "0" COMMENT '创建人',
`date_updated` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '修改时间',
`updated_by` INT NOT NULL DEFAULT "0" COMMENT '修改人'
) ENGINE=OLAP
UNIQUE KEY(`id`)
COMMENT 'test_insert'
DISTRIBUTED BY HASH(`id`) BUCKETS 2
PROPERTIES (
"replication_allocation" = "tag.location.default: 1",
"enable_unique_key_merge_on_write" = "true"
);
有这么一张表,执行如下脚本的时候会报错
set enable_insert_strict=false;
set enable_unique_key_partial_update=TRUE ;
insert into test_insert(id,status)
values(12,2);
报错信息如下
[INTERNAL_ERROR]tablet error: [INVALID_ARGUMENT]parse date fail, string: '',
当修改建表语句 如果不限制 created不为空,则插入不会有问题。但是数据会有异常。设定的默认值会丢失
date_created DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间'
为
date_created DATETIME DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间'
去掉notnull的限制后。执行同样的语句数据可以插入 但是会获得一条创建时间为空的记录。
12 2 N 0 2024-04-24 17:14:56 0
跟预期结果不一样。
看起来像是一个bug?