我们已经讨论了使用前一章中的示例创建UNIQUE约束操作。 现在我们将讨论使用本章中的示例删除UNIQUE约束操作。
Neo4j CQL提供了“DROP CONSTRAINT”命令,以从NODE或Relationship的属性中删除现有的Unique约束。
DROP CONSTRAINT ON (<label_name>)
ASSERT <property_name> IS UNIQUE
语法说明
S.No. | 语法元素 | 描述 |
---|---|---|
1。 | DROP CONSTRAINT ON | 它是一个Neo4j CQL关键字。 |
2。 | <label_name> | 它是节点或关系的标签名称。 |
3。 | ASSERT | 它是一个Neo4j CQL关键字。 |
4。 | <property_name> | 它是节点或关系的属性名称。 |
5。 | IS UNIQUE | 它是一个Neo4j CQL关键字,通知Neo4j数据库服务器创建一个唯一约束。 |
注意 -
上述语法描述它从节点或关系的<label_name>的<property_name>中删除唯一约束。
示例-
此示例演示如何检查是否在CreditCard节点的number属性上创建了UNIQUE约束。
第1步 -在数据浏览器的dollar提示符处键入以下命令。
MATCH (cc:CreditCard)
RETURN cc.id,cc.number,cc.name,cc.expiredate,cc.cvv
第2步 -点击执行按钮,观察结果。
我们可以观察到数据库包含3个CreditCard节点。
第3步 -在数据浏览器的dollar提示符处键入以下命令。
CREATE (cc:CreditCard {id:22,number:222222,
name:'BBB',expiredate:'10/10/2017',cvv:222})
第4步 -点击执行按钮,观察结果。
这意味着一个Unique约束是对CreditCard节点的number属性创建
示例-
此示例演示如何从CreditCard节点的number属性删除现有UNIQUE约束。
第1步 -在数据浏览器的dollar提示符处键入以下命令。
MATCH (cc:CreditCard)
RETURN cc.id,cc.number,cc.name,cc.expiredate,cc.cvv
第2步 -点击执行按钮,观察结果。
我们可以观察到数据库包含3个CreditCard节点。
第3步 -在数据浏览器的美元提示符处键入以下命令。
DROP CONSTRAINT ON (cc:CreditCard)
ASSERT cc.number IS UNIQUE
第4步 -点击执行按钮,观察结果。
AS CreditCard.number没有唯一约束,我们创建尽可能多的重复节点。
第5步 -然后,由一个执行下面的命令表格数据browser运行一台
CREATE (cc:CreditCard
{id:22,number:222222,name:'BBB',expiredate:'10/10/2017',cvv:222})
CREATE (cc:CreditCard
{id:22,number:222222,name:'BBB',expiredate:'10/10/2017',cvv:333})
CREATE (cc:CreditCard
{id:22,number:222222,name:'PPP',expiredate:'12/12/2017',cvv:999})
他们创造与第三点= 222222。现在我们执行下面的命令表格数据浏览器,以确认我们的数据库包含了信用卡式重复节点
MATCH (cc:CreditCard)
RETURN cc.id,cc.number,cc.name,cc.expiredate,cc.cvv