为数据表增加预定义列或删除数据表的预定义列。设置预定义列后,在创建全局二级索引时将预定义列作为索引表的索引列或者属性列。

前提条件

  • 已初始化Client,详情请参见初始化
  • 已创建数据表。

增加预定义列

使用全局二级索引时,如果未设置预定义列或者预定义列不满足需求,可以为数据表增加预定义列。

  • 参数
    参数 说明
    tableName 数据表名称。
    definedColumns 为数据表预先定义一些非主键列以及其类型,可以作为索引表的属性列或索引列。包含如下设置:
    • name:预定义列名称。
    • type:预定义列的数据类型。
  • 示例

    为sampleTable数据表增加预定义列,预定义列分别为definedColumnName01(String类型)、definedColumnName02(INTEGER类型)和definedColumnName03(String类型)。

    public static void addDefinedColumnRequest(SyncClient client) {
    AddDefinedColumnRequest addDefinedColumnRequest = new AddDefinedColumnRequest();
    addDefinedColumnRequest.setTableName("sampleTable");
    addDefinedColumnRequest.addDefinedColumn("definedColumnName01",DefinedColumnType.STRING);
    addDefinedColumnRequest.addDefinedColumn("definedColumnName02",DefinedColumnType.INTEGER);
    addDefinedColumnRequest.addDefinedColumn("definedColumnName03",DefinedColumnType.STRING);
    client.addDefinedColumn(addDefinedColumnRequest);
    }

删除预定义列

删除数据表上不需要的预定义列。

  • 参数
    参数 说明
    tableName 数据表名称。
    name 预定义列名称。
  • 示例

    删除sampleTable数据表的预定义列definedColumnName01和definedColumnName02。

    public static void deleteDefinedColumnRequest(SyncClient client){
    DeleteDefinedColumnRequest deleteDefinedColumnRequest = new DeleteDefinedColumnRequest();
    deleteDefinedColumnRequest.setTableName("sampleTable");
    deleteDefinedColumnRequest.addDefinedColumn("definedColumnName01");
    deleteDefinedColumnRequest.addDefinedColumn("definedColumnName02");
    client.deleteDefinedColumn(deleteDefinedColumnRequest);
    }