通过 Java SDK 为映射表添加或删除属性列。
前提条件
-
安装Tablestore Java SDK并初始化客户端。
-
使用 5.13.0 及以上版本的 Tablestore Java SDK。
注意事项
-
只有通过
CREATE TABLE语句创建的映射表支持使用ALTER TABLE语句更新属性列。通过DESCRIBE等操作自动绑定的映射表不支持更新属性列。 -
每条
ALTER TABLE语句仅支持添加或删除一个属性列。如需操作多个属性列,需重复执行ALTER TABLE语句。 -
ALTER TABLE语句只更新映射表的 Schema,不会更新表格存储的数据存储 Schema。 -
ALTER TABLE语句不支持添加或删除映射表的主键列。 -
执行
ALTER TABLE语句后,SQL 引擎会异步刷新映射表,最多需要 30 秒。刷新期间,查询全部属性列时可能不会返回新添加的列。 -
如需修改已有属性列的定义,先使用
DROP COLUMN删除原属性列,再使用ADD COLUMN按新定义添加属性列。
功能说明
调用 sqlQuery 方法执行 ALTER TABLE 语句,为映射表添加或删除属性列。
SQLQueryResponse sqlQuery(SQLQueryRequest request)
以下示例为 example_table 映射表添加 new_column 属性列,字段类型为 BIGINT。
SQLQueryRequest request = new SQLQueryRequest(
"ALTER TABLE example_table ADD COLUMN new_column BIGINT");
client.sqlQuery(request);
参数说明
SQLQueryRequest 包含以下参数。
|
名称 |
类型 |
说明 |
|
query(必选) |
String |
要执行的 添加属性列时,语法为 删除属性列时,语法为 |
场景示例
删除属性列
以下示例删除 example_table 映射表中的 new_column 属性列。
SQLQueryRequest request = new SQLQueryRequest(
"ALTER TABLE example_table DROP COLUMN new_column");
client.sqlQuery(request);