尽管是唯一的,但将数据添加到具有主键的现有表是否违反了唯一约束?

我正在尝试将新数据添加到我创建的数据库中,但是,尽管 PK 列中的数据是唯一的,但在添加到表时我仍然收到错误“ora-00001”。

如何向主列添加新数据,或者每次都需要禁用约束?

我试图通过:

UPDATE Specialists 
SET Specialist_ID = 210000000005,First_Name = 'Aaron',Last_Name = 'Black',Specialist_Category = 'Software',Cases_In_Progress = 0;

我已经尽可能具体地使用 Google 搜索以缩小搜索结果的范围,但我无法找到仅将新数据添加到现有表的 PK 列中的答案。

非常感谢!

etreg 回答:尽管是唯一的,但将数据添加到具有主键的现有表是否违反了唯一约束?

您的代码显然违反了 primary key 约束。这是出于以下两个原因之一:

  • 已经有一行主键具有您要为其分配的值。
  • 您的更新更新了不止一行。

我会选择后者。

假设 Specialist_ID 是主键,您可能打算

UPDATE Specialists
    SET First_Name = 'Aaron',Last_Name = 'Black',Specialist_Category = 'Software',Cases_In_Progress = 0
    WHERE Specialist_ID = 210000000005;

无论如何,没有 UPDATE 子句的简单 WHERE 是可疑的,因为它会更新表中的所有行。

本文链接:https://www.f2er.com/298.html

大家都在问