全部產品
Search
文件中心

Tablestore:預定義列操作

更新時間:Jun 20, 2025

本文介紹如何通過Go SDK添加或刪除資料表的預定義列。

注意事項

  • 單個資料表預設最大支援添加32個預定義列。如果業務需求超過限制,請提交工單聯絡我們。

  • 如果預定義列被二級索引引用,需要刪除二級索引後才能刪除預定義列。

前提條件

初始化Tablestore Client

添加預定義列

方法說明

func (tableStoreClient *TableStoreClient) AddDefinedColumn(request *AddDefinedColumnRequest) (*AddDefinedColumnResponse, error)

AddDefinedColumnRequest參數說明

  • TableName(必選)string:資料表名稱。

  • DefinedColumns(必選)[]*DefinedColumnSchema:預定義列資訊。每個預定義列包含以下參數。

    名稱

    類型

    說明

    Name(必選)

    string

    預定義列名稱。

    ColumnType(必選)

    DefinedColumnType

    預定義列資料類型。

    • 資料類型包括STRING、INTEGER、BINARY、DOUBLE和BOOLEAN。

範例程式碼

以下範例程式碼在test_table表中添加一個String類型的預定義列name。

func AddDefinedColumnSample(client *tablestore.TableStoreClient) {
    addDefinedColumnRequest := new(tablestore.AddDefinedColumnRequest)
    addDefinedColumnRequest.AddDefinedColumn("name", tablestore.DefinedColumn_STRING)
    addDefinedColumnRequest.TableName = "test_table"
    _, err := client.AddDefinedColumn(addDefinedColumnRequest)
    if err != nil {
        fmt.Println("Failed to add DefinedColumn with error:", err)
    } else {
        fmt.Println("Add DefinedColumn finished.")
    }
}

刪除預定義列

方法說明

func (tableStoreClient *TableStoreClient) DeleteDefinedColumn(request *DeleteDefinedColumnRequest) (*DeleteDefinedColumnResponse, error)

DeleteDefinedColumnRequest參數說明

  • TableName(必選)string:資料表名稱。

  • DefinedColumns(必選)[]string:預定義列資訊。

範例程式碼

以下範例程式碼在test_table表中刪除預定義列name。

func DeleteDefinedColumnSample(client *tablestore.TableStoreClient) {
    deleteDefinedColumnRequest := new(tablestore.DeleteDefinedColumnRequest)
    deleteDefinedColumnRequest.DefinedColumns = []string{"name"}
    deleteDefinedColumnRequest.TableName = "test_table"
    _, err := client.DeleteDefinedColumn(deleteDefinedColumnRequest)
    if err != nil {
        fmt.Println("Failed to delete DefinedColumn with error:", err)
    } else {
        fmt.Println("Delete DefinedColumn finished.")
    }
}