我对节点的属性有唯一性约束。当我执行CREATE
时,如果值已经存在,我会返回ConstraintValidationFailed
错误。在这种情况下,如何从 Cypher 查询返回特定值而不是依赖约束验证错误?
例如,如果发生冲突,我希望返回 exists
字符串。
最佳答案
你不能。这才是约束的真正目的。
2个解决方案:
a) 您进行初步匹配:
MATCH (u:User {login: "existinglogin"}) RETURN "exists" AS result
如果节点存在,则返回字符串“exist”,否则不返回任何记录。
b) 您利用 MERGE ,可以在节点匹配时或创建节点时进行操作。
关于neo4j - Cypher:违反唯一性约束时返回特定值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44195782/