2.1.4版本的delete 使用in 判断的时候,单个值可以正常删除,多个值无法删除

Viewed 51

键表语句:

CREATE TABLE `ctl_manage_safe_cost_d` (
  `accident_reason` VARCHAR(256) NULL COMMENT '事故形成原因',
  `accident_type` VARCHAR(256) NULL COMMENT '事故类型',
  `loss_type` VARCHAR(256) NULL COMMENT '损失种类',
  `report_time` DATE NULL COMMENT '呈报时间',
  `loss_reason` VARCHAR(256) NULL COMMENT '质损原因',
  `accident_id` VARCHAR(256) NULL COMMENT '事故编号',
  `loss_num` DECIMAL(18, 8) NULL DEFAULT "0" COMMENT '质损数量',
  `loss_cost` DECIMAL(18, 8) NULL DEFAULT "0" COMMENT '预估费用',
  `province_name` VARCHAR(256) NULL COMMENT '省公司',
  `create_time` DATETIME NULL COMMENT '数据导入时间',
  `updated_by_user` VARCHAR(256) NULL COMMENT '更新人'
) ENGINE=OLAP
DUPLICATE KEY(`accident_reason`, `accident_type`, `loss_type`, `report_time`, `loss_reason`)
COMMENT '质损信息上报-质损费用'
DISTRIBUTED BY HASH(`report_time`) BUCKETS AUTO
PROPERTIES (
"replication_allocation" = "tag.location.default: 3",
"min_load_replica_num" = "-1",
"is_being_synced" = "false",
"storage_format" = "V2",
"inverted_index_storage_format" = "DEFAULT",
"disable_auto_compaction" = "false",
"enable_single_replica_compaction" = "false",
"group_commit_interval_ms" = "10000",
"group_commit_data_bytes" = "134217728"
);

删除与查询语句:

delete from ctl_manage_safe_cost_d_20240801 where report_time in ('2024-04-01','2024-04-02','2024-04-03');
select * from ctl_manage_safe_cost_d_20240801 where report_time in ('2024-04-01','2024-04-02','2024-04-03');

1 Answers

已经和用户建联,目前因为业务原因,有问题的表被删除重建了,创重建的表没能复现这个问题,所以目前取到了一些日志,看是否能从日志中取一些线索。

如果有用户也遇到类似问题,需要取几个信息:

  1. 如果这张表有问题,且影响到了业务,可以先将这张表进行rename,然后重新创建一张表,先保证业务不受影响的基础上我们再排查问题。
  2. 需要取这个表的建表语句信息
  3. 如果delete无法删除,可以试试select语句查询的结果是否正常
  4. 需要取一个select语句的profile信息用来排查问题 ,具体参考:获取profile