postgresql表中的重复值

时间:2010-01-16 10:45:17

标签: sql postgresql

我正在尝试修改PostgreSQL数据库中的表,但它说有重复!在表中查找重复值的最佳方法是什么?有点选择查询?

3 个答案:

答案 0 :(得分:14)

尝试这样

SELECT count(column_name), column_name 
from table_name 
group by column_name having count(column_name) > 1;

答案 1 :(得分:2)

如果您尝试更改属于PRIMARY KEY或具有UNIQUE约束的列中的值并在此处出现此错误,那么您应该能够通过<找到冲突的行/ p>

SELECT *
FROM your_table
WHERE conflicting_column = conflicting_value;

如果conflicting_value是字符类型,请将其放在单引号(')中。

编辑:要找出受约束影响的列,请检查this post

答案 2 :(得分:0)

首先,确定表中的哪些字段必须是唯一的。这可能是标记为主键,基于一个或多个字段或检查约束的唯一索引,同样基于一个或多个字段。

完成上述操作后,请查看您要插入的内容,并确定它是否会破坏任何独特的规则。

是的,SELECT语句将帮助您确定这里的错误。使用它们来确定您是否能够提交该行。