neo4j - Cypher:违反唯一性约束时返回特定值

标签 neo4j cypher unique-constraint

我对节点的属性有唯一性约束。当我执行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/

相关文章:

performance - 如何提高neo4j基础数据库的性能

neo4j - neo4j 的所有查询都很慢

Neo4j 模式理解因 where 子句中的路径条件而失败

python - 无法在浏览器中使用 cypher 查询查看我使用 py2neo 创建的节点

mysql - 合并两个具有唯一值的大表

neo4j - 查找 2 个日期之间的所有事件

neo4j - 如何在Neo4j中获取所有连接的节点

postgresql-9.1 - PostgreSQL 触发器中的唯一约束冲突

MySQl 我需要使一列仅对于另一列的某些值唯一

neo4j - Cypher - 匹配两个不同的可能路径并返回两者