跳转至

ALTER TAG

ALTER TAG语句可以修改 Tag 的结构。例如增删属性、修改数据类型,也可以为属性设置、修改 TTL(Time-To-Live)。

前提条件

  • 登录的用户必须拥有对应权限才能执行ALTER TAG语句。详情请参见内置角色权限
  • 确保要修改的属性不包含索引,否则ALTER TAG时会报冲突错误[ERROR (-8)]: Conflict!。删除索引请参见 drop index

语法

```ngql ALTER TAG [[, alter_definition] ...] [ttl_definition [, ttl_definition] ... ] [COMMENT = ''];

alter_definition: | ADD (prop_name data_type [NULL | NOT NULL] [DEFAULT ] [COMMENT '']) | DROP (prop_name) | CHANGE (prop_name data_type [NULL | NOT NULL] [DEFAULT ] [COMMENT ''])

ttl_definition: TTL_DURATION = ttl_duration, TTL_COL = prop_name ```

  • tag_name:指定要修改的 Tag 名称。一次只能修改一个 Tag。请确保要修改的 Tag 在当前工作空间中存在,否则会报错。
  • 可以在一个ALTER TAG语句中使用多个ADDDROPCHANGE子句,子句之间用英文逗号(,)分隔。

示例

ngql nebula> CREATE TAG IF NOT EXISTS t1 (p1 string, p2 int); nebula> ALTER TAG t1 ADD (p3 int, p4 string); nebula> ALTER TAG t1 TTL_DURATION = 2, TTL_COL = "p2"; nebula> ALTER TAG t1 COMMENT = 'test1'; nebula> ALTER TAG t1 ADD (p5 double NOT NULL DEFAULT 0.4 COMMENT 'p5') COMMENT='test2';

修改 Tag 说明

尝试使用刚修改的 Tag 可能会失败,因为修改是异步实现的。为确保数据同步,后续操作能顺利进行,请等待 2 个心跳周期(20 秒)。

如果需要修改心跳间隔,请为所有配置文件修改参数heartbeat_interval_secs


最后更新: 2026年8月17日