为提高效率,提问时请提供以下信息,问题描述清晰可优先响应。
【DM版本】: DM Database Server 64 V8
DB Version: 0x7000c
08134283904-20220804-166351-20005
【操作系统】:centos7
【CPU】: Intel Xeon
【问题描述】*:
无法创建索引
SQL> CREATE UNIQUE INDEX rizhiyi_yottaweb.domain_conf_key_uniq ON rizhiyi_yottaweb.lunaxee_config(domain_id,conf_key);
[-7041]:数据库对象[domain_conf_key_uniq]已存在.
但是索引并不存在
SQL> drop index rizhiyi_yottaweb.domain_conf_key_uniq;
第1 行附近出现错误[-2139]:索引[domain_conf_key_uniq]不存在.
如果改成其他名字就可以正常创建删除
SQL> CREATE UNIQUE INDEX rizhiyi_yottaweb.domain_conf_key_uniq_test ON rizhiyi_yottaweb.lunaxee_config(domain_id,conf_key);
操作已执行
已用时间: 13.119(毫秒). 执行号:16542306.
SQL> drop index rizhiyi_yottaweb.domain_conf_key_uniq_test;
操作已执行
已用时间: 18.076(毫秒). 执行号:16542307.
这边把表空间/用户删除重建还是会出错。
虽然可以通过改名规避这个问题,但是这个现象非常不合理
另外用管理工具查看 rizhiyi_yottaweb.lunaxee_config表结构 会报错
错误号: -7019
错误消息: 无效的表名
建表sql
CREATE TABLE IF NOT EXISTS rizhiyi_yottaweb.lunaxee_config (
id int NOT NULL AUTO_INCREMENT,
domain_id bigint NOT NULL DEFAULT '-1',
conf_key varchar(180) NOT NULL DEFAULT '',
conf_value text,
version int NOT NULL DEFAULT '0',
PRIMARY KEY (id)
);
这边试过是可以建表成功并读写的,不知道有啥特别之处。
-7041 对象已存在
大多数原因是该模式下已经存在其他类型的同名对象,至于什么类型的对象,去查询出来
select * from sysobjects where name = 'domain_conf_key_uniq';
-7019 无效表名

这个有可能建表的时候,表名后面可能多一个空格。
表名可以通过达梦管理工具右键表--重命名查看
比如