我正在尝试修改PostgreSQL数据库中的表,但它说有重复!在表中查找重复值的最佳方法是什么?有点选择查询?
答案 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语句将帮助您确定这里的错误。使用它们来确定您是否能够提交该行。