ALTER EDGEGraph
ALTER EDGE
语句可以修改Edge type的结构。例如增删属性、修改数据类型,也可以为属性设置、修改Graph(Time-To-Live)。
前提条件Graph
- 登录的用户必须拥有对应权限才能执行
ALTER EDGE
语句。详情请参见Graph。
- 确保要修改的属性不包含索引,否则
ALTER EDGE
时会报冲突错误[ERROR (-8)]: Conflict!
。删除索引请参见Graph。
语法Graph
ALTER EDGE <edge_type_name>
<alter_definition> [, alter_definition] ...]
[ttl_definition [, ttl_definition] ... ]
[COMMENT = '<comment>'];
alter_definition:
| ADD (prop_name data_type)
| DROP (prop_name)
| CHANGE (prop_name data_type)
ttl_definition:
TTL_DURATION = ttl_duration, TTL_COL = prop_name
edge_type_name
:指定要修改的Edge type名称。一次只能修改一个Edge type。请确保要修改的Edge type在当前工作空间中存在,否则会报错。
- 可以在一个
ALTER EDGE
语句中使用多个ADD
、DROP
和CHANGE
子句,子句之间用英文逗号(,)分隔。
示例Graph
nebula> CREATE EDGE e1(p1 string, p2 int);
nebula> ALTER EDGE e1 ADD (p3 int, p4 string);
nebula> ALTER EDGE e1 TTL_DURATION = 2, TTL_COL = "p2";
nebula> ALTER EDGE e1 COMMENT = 'edge1';
修改Edge type说明Graph
尝试使用刚修改的Edge type可能会失败,因为修改是异步实现的。
NebulaGraph将在下一个心跳周期内完成Edge type的修改,为了确保修改成功,可以使用如下方法之一:
- 在Graph语句的结果中查看Edge type信息,确认修改成功。如果没有修改成功,请等待几秒重试。
- 等待两个心跳周期,例如20秒。
如果需要修改心跳间隔,请为Graph修改参数heartbeat_interval_secs
。
最后更新: August 12, 2021