執行ALTER TABLE語句為已存在的映射表添加或刪除屬性列。
說明
關於ALTER TABLE語句的更多資訊,請參見更新映射表屬性列。
前提條件
已初始化Client。具體操作,請參見初始化OTSClient。
已建立映射關係。具體操作,請參見建立映射關係。
注意事項
執行ALTER TABLE語句僅支援更新映射表的Schema,不會更新Table Store的資料存放區Schema。
不支援添加或者刪除映射表主鍵列的操作。
執行ALTER TABLE語句後,SQL引擎會非同步進行重新整理,最多30秒完成重新整理。在此期間執行返回所有列等操作時可能不會返回新添加的列。
只有通過CREATE TABLE語句建立的映射表才支援使用ALTER TABLE語句更新屬性列。通過DESCRIBE操作自動綁定的映射表不支援使用ALTER TABLE語句更新屬性列。
ALTER TABLE語句每次僅支援添加或者刪除一列。如果需要進行多列操作,請執行多次ALTER TABLE語句。
參數
參數 | 說明 |
query | SQL語句,請根據所需功能進行設定。 |
樣本
為映射表添加屬性列
以下樣本用於為exampletable映射表添加colvalue(BIGINT類型)屬性列。
/// <summary> /// 為exampletable映射表添加colvalue(BIGINT類型)屬性列。 /// </summary> /// <param name="otsClient"></param> public static void AlterTableAddColumn(OTSClient otsClient) { SQLQueryRequest sqlQueryRequest = new SQLQueryRequest("alter table exampletable add column colvalue bigint"); otsClient.SQLQuery(sqlQueryRequest); }
刪除映射表的屬性列
以下樣本用於刪除exampletable映射表中的colvalue(BIGINT類型)屬性列。
/// <summary> /// 為exampletable映射表刪除colvalue(BIGINT類型)屬性列。。 /// </summary> /// <param name="otsClient"></param> public static void AlterTableDropColumn(OTSClient otsClient) { SQLQueryRequest sqlQueryRequest = new SQLQueryRequest("alter table exampletable drop column colvalue"); otsClient.SQLQuery(sqlQueryRequest); }
說明
更新映射表屬性列時,您可以先刪除舊的無用屬性列,然後再添加新的屬性列。