我正在我们的生产服务器上调用PG 9.2.14
我面临一些随机问题。
假设其名为users
和id
的表格是其中的主键。
当我尝试重新索引表格时,它会给我以下错误: -
ERROR: could not create unique index "users_pkey"
DETAIL: Key (id)=(339) is duplicated.
当我尝试使用339
ID获取用户时,没有记录。我不确定它是PG的错误还是我做错了什么。
有人遇到过这样的问题吗?
答案 0 :(得分:2)
检查数据库。您要添加索引的表中已存在重复值。检查表中的空值。好像在user_id中有多行占用空值。
删除重复项,您就可以添加索引。快乐编码:)
答案 1 :(得分:1)
确切的问题是有重复的行具有相同的id
。
我不确定它是如何进入数据库的,因为自创建表以来存在主要关键问题。
解决方案是我不得不放弃主键约束
alter table users drop constraint users_pkey;
然后使用。
拉出带有该ID的重复记录Select * from users where id = 339;
现在它向我展示了大约4-5行具有相同ID,删除了那些行并且它有效。
我不确定列上是否有primary key constraint
,如果PG没有显示重复记录,如果它在PG
或功能中出现错误。