DELETE TAG¶
DELETE TAG
语句可以删除指定点上的指定 Tag。
点可以有一个或多个 Tag。
- 如果某个点只有一个 Tag,删除这个点上的 Tag 后,用户就无法访问这个点,下次 Compaction 操作时会删除该点,但点上的边仍然存在。
- 如果某个点有多个 Tag,删除其中一个 Tag,仍然可以访问这个点,但是无法访问这个点上已删除 Tag 所定义的所有属性。
前提条件¶
登录的用户必须拥有对应权限才能执行DELETE TAG
语句。详情请参见内置角色权限。
语法¶
DELETE TAG <tag_name_list> FROM <VID>;
tag_name_list
:指定 Tag 名称。多个 Tag 用英文逗号(,)分隔,也可以用*
表示所有 Tag。
VID
:指定要删除 Tag 的点 ID。
示例¶
nebula> CREATE TAG IF NOT EXISTS test1(p1 string, p2 int);
nebula> CREATE TAG IF NOT EXISTS test2(p3 string, p4 int);
nebula> INSERT VERTEX test1(p1, p2),test2(p3, p4) VALUES "test":("123", 1, "456", 2);
nebula> FETCH PROP ON * "test";
+------------------------------------------------------------+
| vertices_ |
+------------------------------------------------------------+
| ("test" :test2{p3: "456", p4: 2} :test1{p1: "123", p2: 1}) |
+------------------------------------------------------------+
nebula> DELETE TAG test1 FROM "test";
nebula> FETCH PROP ON * "test";
+-----------------------------------+
| vertices_ |
+-----------------------------------+
| ("test" :test2{p3: "456", p4: 2}) |
+-----------------------------------+
nebula> DELETE TAG * FROM "test";
nebula> FETCH PROP ON * "test";
+-----------+
| vertices_ |
+-----------+
Compatibility
- 在 openCypher 中,可以使用
REMOVE v:LABEL
语句来移除该点v
的LABEL
。 - 相同语意,但不同语法。在 nGQL 中使用
DELETE TAG
。
最后更新:
March 7, 2023