【发布时间】:2026-01-27 22:20:07
【问题描述】:
我试图弄清楚 MERGE 和 CREATE UNIQUE 之间的区别。我知道这些功能:
合并
如果不存在模式,我可以创建节点。
MERGE (n { name:"X" }) RETURN n;
这将创建具有属性名称的节点“n”、空节点“m”和关系 RELATED。
MERGE (n { name:"X" })-[:RELATED]->(m) RETURN n, m;
创建唯一的
我无法像这样创建节点。
CREATE UNIQUE (n { name:"X" }) RETURN n;
如果存在节点“n”,则创建唯一的空节点“m”和关系。
MATCH (n { name: 'X' }) CREATE UNIQUE (n)-[:RELATED]->(m) RETURN n, m;
如果此模式存在,则不创建任何内容,仅返回模式。
从我的角度来看,我看到 MERGE 和 CREATE UNIQUE 是完全相同的查询,但是使用 CREATE UNIQUE 您不能在关系中创建起始节点。如果有人能解释这个问题并比较这些查询,我将不胜感激,谢谢。
【问题讨论】: