注册

虚拟列加唯一性索引还能使用IGNORE_ROW_ON_DUPKEY_INDEX来规避重复数据吗

nic_k 2026/05/21 28 0

为提高效率,提问时请提供以下信息,问题描述清晰可优先响应。
【DM版本】:
【操作系统】:
【CPU】:
【问题描述】*:当唯一性索引包含虚拟列,如按以下语句建表, 使用IGNORE_ROW_ON_DUPKEY_INDEX会报错

create table t1(c1 int, c2 int, c3 int, c4 int,c5 int generated always as (c4 + 1) virtual);
create unique index t1i1 on t1(c5,c1);
insert into t1(c1,c2,c3,c4) values (1,2,1,1);
insert /*+IGNORE_ROW_ON_DUPKEY_INDEX(t1(c5,c1))*/ into t1(c1,c2,c3,c4) values (1,2,1,1);   -- 报错 HINT参数IGNORE_ROW_ON_DUPKEY_INDEX所指定的列无法唯一确定目标UNIQUE索引
insert /*+IGNORE_ROW_ON_DUPKEY_INDEX(t1)*/ into t1(c1,c2,c3,c4) values (1,2,1,1);-- 报错 违反表[t1]唯一性约束条件[t1i1]
回答 0
暂无回答
扫一扫
联系客服