擅长:python、mysql、java
<p>假设这个节点已经存在(为了清楚起见,我使用字符串文字而不是参数):</p>
<pre><code>(:Person {name: "SomeThing", country: "Canada"})
</code></pre>
<p>你提出这个要求:</p>
^{pr2}$
<p>您将得到一个<code>ConstraintError</code>,因为这样的节点还不存在(具有两个属性值),但您也无法创建该节点(因为唯一性约束)。在</p>
<h3>可能的修复方法</h3>
<ul>
<li><p>如果您想强制<code>country</code>值为“USA”,不管怎样,这都应该避免<code>ConstraintError</code>:</p>
<pre><code>MERGE (p:Person {name: "SomeThing"})
SET p.country = "USA";
</code></pre></li>
<li><p>或者,如果您只想设置<code>country</code>值(如果具有该<code>name</code>值的节点尚不存在),则该方法应该有效:</p>
<pre><code>MERGE (p:Person {name: "SomeThing"})
ON CREATE SET p.country = "USA";
</code></pre></li>
<li><p>或者,如果您只想设置<code>country</code>值(如果具有该<code>name</code>值的节点已经存在),则该方法应该有效:</p>
<pre><code>MERGE (p:Person {name: "SomeThing"})
ON MATCH SET p.country = "USA";
</code></pre></li>
</ul>