Cypher 中的合并语句
Merge statement in Cypher
我在 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
关键字一样工作?
是的,这就是 MERGE 所做的。请注意,它不仅限于关键字段。它考虑了您在 MERGE 子句中提供的所有字段。另见 https://neo4j.com/docs/cypher-manual/current/clauses/merge/
我在 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
关键字一样工作?
是的,这就是 MERGE 所做的。请注意,它不仅限于关键字段。它考虑了您在 MERGE 子句中提供的所有字段。另见 https://neo4j.com/docs/cypher-manual/current/clauses/merge/