【发布时间】:2016-05-02 14:14:30
【问题描述】:
我有 Oracle 数据库。我想创建索引:
CREATE INDEX indexID ON Employee(id_employee);
但它写道 -> SQL Error: ORA-01408: such column list already indexed
所以在创建索引之前我放了:
DROP INDEX indexID;
但它写道 -> SQL Error: ORA-01418: specified index does not exist
我的员工表:
CREATE TABLE Employee (
id_employee NUMBER(5) NOT NULL,
name VARCHAR(25) NOT NULL,
surname VARCHAR(25) NOT NULL,
day_of_birth DATE NOT NULL,
salary NUMBER(6) NOT NULL,
PRIMARY KEY(id_employee)
);
你有什么想法吗?看起来索引没有创建。
【问题讨论】:
-
您有一个具有不同名称的索引,但定义了相同的列。在 Oracle(12c 之前)中,即使名称不同,也不能有两个具有相同列列表的索引。您可以运行
select index_name from user_indexes where table_name = 'EMPLOYEE'来找出该表的现有索引名称。 -
供将来参考 - 不要担心将捷克语表和字段名称翻译成英文。发布您所拥有的 - 名称并不重要,它们只是文本字符串。谢谢。
-
感谢 bob jarvis,对我有好处:D