【问题标题】:Merge statement in CypherCypher 中的合并语句
【发布时间】:2021-12-30 03:46:08
【问题描述】:

我在一段介绍 Cypher 的视频中看到了这句话:

忽略最后的MERGE 语句,MERGE 本质上是在执行INSERT...ON DUPLICATE KEY 吗?例如:

MERGE (a:Person {name: "Ann"})
ON CREATE SET a.twitter = "@ann"

对应于:

INSERT INTO Person (name) VALUES ("Ann")
ON DUPLICATE KEY SET twitter = "@ann"

并且通过扩展,如果在一个尚不存在的节点上有一个MERGE,它的行为是否就好像它是一个CREATE 关键字?

【问题讨论】:

    标签: neo4j cypher


    【解决方案1】:

    是的,这就是 MERGE 所做的。请注意,它不仅限于关键字段。它考虑了您在 MERGE 子句中提供的所有字段。另见https://neo4j.com/docs/cypher-manual/current/clauses/merge/

    【讨论】:

    • 谢谢——“关键字段”是什么意思?
    • 如果你做 MERGE (c:Person {name:'Tom', gender:'male'}) neo4j 只会在两个属性匹配时重新设置一个现有节点,无论是否存在一个唯一的约束。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-12-04
    • 1970-01-01
    • 2015-03-10
    • 2020-01-18
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多