预定义列操作

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

前提条件

  • 已初始化Client。具体操作,请参见初始化

  • 已创建数据表。

增加预定义列

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

参数

参数

说明

tableName

数据表名称。

definedColumns

为数据表预先定义一些非主键列以及其类型,可以作为索引表的属性列或索引列。包含如下设置:

  • name:预定义列名称。

  • type:预定义列的数据类型。

示例

以下示例用于为数据表增加预定义列,预定义列分别为definedColumnName01(String类型)、definedColumnName02(Integer类型)和definedColumnName03(String类型)。

public static void addDefinedColumnRequest(SyncClient client) {
    AddDefinedColumnRequest addDefinedColumnRequest = new AddDefinedColumnRequest();
    //设置数据表名称。
    addDefinedColumnRequest.setTableName("<TABLE_NAME>");
    //为数据表添加预定义列。
    addDefinedColumnRequest.addDefinedColumn("definedColumnName01",DefinedColumnType.STRING);
    addDefinedColumnRequest.addDefinedColumn("definedColumnName02",DefinedColumnType.INTEGER);
    addDefinedColumnRequest.addDefinedColumn("definedColumnName03",DefinedColumnType.STRING);
    client.addDefinedColumn(addDefinedColumnRequest);
}

删除预定义列

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

参数

参数

说明

tableName

数据表名称。

name

预定义列名称。

示例

以下示例用于删除数据表的预定义列definedColumnName01definedColumnName02。

public static void deleteDefinedColumnRequest(SyncClient client){
    DeleteDefinedColumnRequest deleteDefinedColumnRequest = new DeleteDefinedColumnRequest();
    //设置数据表名称。
    deleteDefinedColumnRequest.setTableName("<TABLE_NAME>");
    //添加要删除的预定义列。
    deleteDefinedColumnRequest.addDefinedColumn("definedColumnName01");
    deleteDefinedColumnRequest.addDefinedColumn("definedColumnName02");
    client.deleteDefinedColumn(deleteDefinedColumnRequest);
}