删除约束
约束可使用 DROP CONSTRAINT 命令删除。可以删除在不同 Cypher® 版本中创建的约束。例如,尽管在 Cypher 25 中加入了 VECTOR 属性类型约束,但仍可使用 Cypher 5 删除此类约束。
删除约束需要 DROP CONSTRAINT 权限。 |
按名称删除约束
可以使用名称通过 DROP CONSTRAINT constraint_name 命令删除约束。所有约束类型使用相同的命令。约束的名称可通过 SHOW CONSTRAINTS 命令 在输出列 name 中找到。
示例 1. 按名称删除约束
删除约束
book_isbnDROP CONSTRAINT book_isbn
结果
Removed 1 constraint.
这些约束只能通过删除完整的节点或关系元素类型来删除。更多信息,请参阅 删除节点和关系元素类型。 |
使用参数删除约束
约束可以使用参数化的名称删除。
示例 2. 使用参数删除约束
参数
{
"name": "actor_fullname"
}
使用参数化名称删除约束
DROP CONSTRAINT $name
结果
Removed 1 constraint.
删除不存在的约束
如果不确定是否存在给定名称的约束,并且希望在存在时删除而在不存在时不产生错误,请使用 IF EXISTS。这将确保不会抛出错误,而是返回一条信息性通知,说明该约束不存在。
示例 3. 删除不存在的约束
删除不存在的约束
missing_constraint_nameDROP CONSTRAINT missing_constraint_name IF EXISTS
结果
(no changes, no records)
通知
`DROP CONSTRAINT missing_constraint_name IF EXISTS` has no effect. `missing_constraint_name` does not exist.