注册

创建索引CREATE OR REPLACE INDEX的问题

柳城 2024/10/10 358 9

为提高效率,提问时请提供以下信息,问题描述清晰可优先响应。
【DM版本】:dm8
【操作系统】:win11
【CPU】:x86
【问题描述】*:
参考文档
https://eco.dameng.com/document/dm/zh-cn/pm/definition-statement#3.6.1%20%E7%B4%A2%E5%BC%95%E5%AE%9A%E4%B9%89%E8%AF%AD%E5%8F%A5
其中

当索引名已存在时,若指定 OR REPLACE,则使用新索引替换原同名索引;若指定 IF NOT EXISTS,则忽略本次索引创建操作;若同时指定 OR REPLACE 和 IF NOT EXISTS,则按照 OR REPLACE 的策略执行;若均不指定,则报错;

我这边测试使用下列3种方式,都是会报错:
-3236: 第1 行附近出现错误:
此列列表已索引

CREATE INDEX `idx_test_user_id` on `test`(`user_id`) STORAGE(ON `test`, CLUSTERBTR);
或者
CREATE OR REPLACE INDEX `idx_test_user_id` on `test`(`user_id`) STORAGE(ON `test`, CLUSTERBTR);
或者
CREATE INDEX IF NOT EXISTS `idx_test_user_id` on `test`(`user_id`) STORAGE(ON `test`, CLUSTERBTR);

REPLACE或是IF NOT EXISTS都没有生效的。

请帮忙看看,谢谢。怎样才可以实现索引存在时就跳过执行。

回答 0
暂无回答
扫一扫
联系客服