ORA-00001: 违反唯一约束条件 (CDS.PK_DUM_DIMENSION),这个问题具体应该这么弄?

2024-12-21 17:50:32
推荐回答(5个)
回答1:

查询DUM_DIMENSION序列最大值的下一个值,把查到的值添加到相应序列的起始值即可。

oracle中唯一约束可以为空,并且空值可以重复,并不是空只能为一次,可以去测试。

主键约束 是唯一约束和不能为空。两者最主要的区别就是主键约束不能为空,而Unique可以为空并且空值可以重复。 

根据错误提示,是是因为插入了相同的值。这个是违反约束的。

扩展资料:

主键约束在表中定义一个主键来唯一确定表中每一行数据的标识符。

主键列的数据类型不限,但此列必须是唯一并且非空。

如中已有主键为1000的行,则不能再添加主键为1000。

人工或程序不好控制的时候,也可以设置主键列为自动增长列。

唯一约束的字段在插入数据时不能出现重复,可以为空,但是空也只能出现一次。如果插入数据时出现有两条以上信息的数据相同,就会出现ORA-00001: 违反唯一约束条件(CDS.PK_DUM_DIMENSION)这个问题。

数据库表的主键就带有唯一约束,所以主键是不能重复的。

参考资料:百度百科-主键束缚

回答2:

唯一约束的字段在插入数据时不能出现重复,可以为空,但是空也只能出现一次。比如说学生的学号设有唯一约束,那么就不能出现两个学号相同的学生,如果插入数据时出现有两条以上学生信息的学号相同,就会出现你说的这个问题。数据库表的主键就带有唯一约束,所以主键是不能重复的。

回答3:

还是我来解释一下吧,楼上两位都解释得有点问题
oracle中唯一约束可以为空,并且空值可以重复,并不是楼上说的空只能为一次,你可以去测试。
主键约束 是唯一约束和不能为空。
两者最主要的区别就是主键约束不能为空,而Unique可以为空并且空值可以重复。
根据你的错误提示应该是你插入了相同的值。这个是违反约束的。

回答4:

在填写表格中,姓和名之间加一空格就可以轻松解决,本人遇到过这种情况。

回答5:

oracle中唯一约束可以为空,并且空值可以重复。
主键约束 是唯一约束和不能为空。
两者最主要的区别就是主键约束不能为空,而Unique可以为空并且空值可以重复。
根据你的错误提示应该是你插入了相同的值。这个是违反约束的。