Go SDK 可为映射表添加或删除属性列。
前提条件
安装Tablestore Go SDK并初始化客户端。SQL 查询功能需要 1.7.4 及以上版本,建议使用最新版本。
注意事项
只有通过
CREATE TABLE语句创建的映射表支持ALTER TABLE。通过DESCRIBE等操作自动绑定的映射表不支持更新属性列。每条
ALTER TABLE语句仅支持添加或删除一个属性列。该操作只更新映射表 Schema,不会更新表格存储的数据存储 Schema,也不支持添加或删除主键列。
执行语句后,SQL 引擎异步刷新映射表,最多需要 30 秒。刷新期间查询全部属性列时可能不会返回新添加的列。
如需修改已有属性列的定义,先删除原属性列,再按新定义添加。
功能说明
调用 SQLQuery 方法执行 ALTER TABLE 语句,为映射表添加或删除属性列。
func (client *TableStoreClient) SQLQuery(request *SQLQueryRequest) (*SQLQueryResponse, error)
以下示例为 example_table 添加 new_column 属性列。
request := &tablestore.SQLQueryRequest{
Query: "ALTER TABLE example_table ADD COLUMN new_column BIGINT",
}
if _, err := client.SQLQuery(request); err != nil {
log.Fatalf("SQLQuery failed: %v", err)
}
参数说明
SQLQueryRequest 包含以下参数。
|
名称 |
类型 |
说明 |
|
Query(必选) |
string |
要执行的 |
场景示例
删除属性列
以下示例删除 example_table 中的 new_column 属性列。
request := &tablestore.SQLQueryRequest{
Query: "ALTER TABLE example_table DROP COLUMN new_column",
}
if _, err := client.SQLQuery(request); err != nil {
log.Fatalf("SQLQuery failed: %v", err)
}
该文章对您有帮助吗?