Oracle唯一约束违规引用似乎不存在的约束

时间:2012-01-17 01:46:03

标签: oracle oracle10g unique-constraint

我收到一个我无法理解的错误。错误非常简单:

ORA-00001: unique constraint (*schema*.*xyz_constraint*) violated

然而,造成我困惑的是事实上似乎不存在这样的限制。它当然没有在桌子上定义;有问题的DB几乎没有定义参照完整性,我插入数据的特定表没有定义键。

对于它的价值,我无法在数据库中的任何地方找到约束:

    select *
    from all_constraints 
    where constraint_name like '%xyz_constraint%'

有什么我可以忽略的吗?感谢。

3 个答案:

答案 0 :(得分:4)

当约束属于另一个用户并且您没有权限时,就会发生这种情况。

现在尝试从SYS角度再次查看

答案 1 :(得分:2)

我有完全相同的错误,这不是权限问题。相反,该实体结果是ERROR! The field 'loop' is supposed to be a string type, however the incoming data structure is a <class 'ansible.parsing.yaml.objects.AnsibleSequence'> 而不是INDEX,我发现它:

CONSTRAINT

...因为SELECT * FROM ALL_INDEXES WHERE INDEX_NAME LIKE '%XYZ_UK1' ALL_CONSTRAINTS中不存在。混淆错误消息是如何相同的。我正在运行Oracle 11g。

答案 2 :(得分:1)

模式对象名称几乎总是以大写形式存储。尝试

select *
from all_constraints 
where constraint_name like '%XYZ_CONSTRAINT%'

ORA-00001通常发生在重复的主键上。你确定桌子上没有一个吗?