【发布时间】:2018-08-10 07:15:05
【问题描述】:
我试图在我的数据库中删除一个唯一约束:
ALTER TABLE MyDbAdmin.myTable
DROP UNIQUE (myCol);
控制台说删除有效,但是当我尝试插入具有重复 myCol 的记录时,返回了 ORA-00001: unique constraint 错误。
我尝试查看表的约束页面,唯一约束确实消失了。此外,如果我运行相同的 SQL 再次删除约束,它会返回 ORA-02442: Cannot drop nonexistent unique key。
以上查询是使用帐户myDbUser 运行的,这是导致上述奇怪行为的原因吗?
【问题讨论】:
-
不是主键列吧?
-
@user5226582 不,不是。
-
@xcoder - 您能否也发布您的插入语句。还有表格和同义词/视图?它是您尝试插入的编辑视图吗?
-
我对Oracle不太了解,但看起来drop约束语法是
ALTER TABLE table_name DROP CONSTRAINT constraint_name;。我不确定你的 drop 语句在做什么。 -
@HoneyBadger:通常我也会使用带有约束名称的变体,但使用列名也可以
标签: sql oracle constraints unique-constraint