【发布时间】:2014-02-22 23:52:27
【问题描述】:
从 Java 代码在 PostgreSQL 上运行以下查询时出现错误
.....
sql = "CREATE TABLE IF NOT EXISTS table1 (s VARCHAR(100), p VARCHAR(100), o VARCHAR(100), PRIMARY KEY (s,p,o)) ; ";
pgsql.runUpdateQuery(sql);
sql = "CREATE INDEX indextable1 ON table1 (s,p,o);";
pgsql.runUpdateQuery(sql);
.....
但我得到以下错误
org.postgresql.util.PSQLException: ERROR: relation "indextable1" already exists
有人可以解释一下发生了什么吗?我的理解是PRIMARY KEY 被认为是INDEX,因此第二个查询失败。我说的对吗?
【问题讨论】:
-
架构中有另一个名为
indextable1的索引(或表)。这与列列表已被索引这一事实无关。 -
@a_horse_with_no_name 谢谢,我在再次运行查询之前清理了所有数据库,现在一切顺利。
标签: postgresql indexing