DROP TAG¶
DROP TAG
语句可以删除当前工作空间内所有点上的指定 Tag。
点可以有一个或多个 Tag。
- 如果某个点只有一个 Tag,删除这个 Tag 后,用户就无法访问这个点,下次 Compaction 操作时会删除该点,但与该点相邻的边仍然存在——这会造成悬挂边。
- 如果某个点有多个 Tag,删除其中一个 Tag,仍然可以访问这个点,但是无法访问已删除 Tag 所定义的所有属性。
删除 Tag 操作仅删除 Schema 数据,硬盘上的文件或目录不会立刻删除,而是在下一次 Compaction 操作时删除。
Compatibility
NebulaGraph master 中默认不支持插入无 Tag 的点。如需使用无 Tag 的点,在集群内所有 Graph 服务的配置文件(nebula-graphd.conf
)中新增--graph_use_vertex_key=true
;在所有 Storage 服务的配置文件(nebula-storaged.conf
)中新增--use_vertex_key=true
。
前提条件¶
- 登录的用户必须拥有对应权限才能执行
DROP TAG
语句。详情请参见内置角色权限。
- 确保 Tag 不包含任何索引,否则
DROP TAG
时会报冲突错误[ERROR (-1005)]: Conflict!
。删除索引请参见 drop index。
语法¶
DROP TAG [IF EXISTS] <tag_name>;
IF EXISTS
:检测待删除的 Tag 是否存在,只有存在时,才会删除 Tag。
tag_name
:指定要删除的 Tag 名称。一次只能删除一个 Tag。
示例¶
nebula> CREATE TAG IF NOT EXISTS test(p1 string, p2 int);
nebula> DROP TAG test;
最后更新:
May 9, 2024