我想列在我的Postgres添加到表这个看似简单的SQL数据库9.3:的Postgres不能创建唯一索引,钥匙被复制
ALTER TABLE quizzes ADD COLUMN deleted BOOLEAN NOT NULL DEFAULT false;
不过,我发现了以下错误:
ERROR: could not create unique index "quizzes_pkey"
DETAIL: Key (id)=(10557462) is duplicated.
奇怪的是,其实有没有行与ID(这是主键,所以应该不会有重复):
SELECT id FROM quizzes WHERE id = 10557462;
id
----
(0 rows)
事实上,它看起来像这个ID已经被莫名其妙地跳过:
SELECT id FROM quizzes WHERE id > 10557459 ORDER BY id LIMIT 4;
id
----------
10557460
10557461
10557463
10557464
(4 rows)
这是为什么阻止我添加一列,我怎么能解决这个问题?
我不明白如何添加“已删除”列可能会导致唯一的密钥违规。你确定这是正在运行的代码吗? –
是的,我确定。我在psql提示符下键入该代码并按Enter键。 –