功能描述
修改已存在的表的结构,例如修改绑定的分区亲和性策略等。
语法
alter_table_stmt:ALTER TABLE table_name USING PARTITION POLICY partition_policy_name| ALTER TABLE table_name DROP PARTITION POLICY_ [FORCE]
参数说明
参数 | 是否必选 | 说明 |
ALTER TABLE table_name USING PARTITION POLICY partition_policy_name | 可选 | 修改表绑定的分区亲和性策略,其中 table_name 跟partition_policy_name 需要显式指定。 |
ALTER TABLE table_name DROP PARTITION POLICY_ [FORCE] | 可选 | 解绑表绑定的分区亲和性策略。 table_name 需显式指定。FORCE 选项:若指定,则执行成功后,当前表不再绑定任何亲和性策略。 若不指定,则会尝试解绑当前表已绑定的显式亲和性策略,再将其绑定可能的隐式亲和性策略。 |
示例
修改与解绑亲和性策略的操作。
# 创建分区亲和性策略pp1tdsql [demo]> create partition policy pp1 partition by hash(int) partitions 4;Query OK, 0 rows affected (0.02 sec)# 创建hash 4分区的表ttdsql [demo]> create table t(id INT) partition by hash(id) partitions 4;Query OK, 0 rows affected (0.90 sec)# 将表t绑定到分区亲和性策略pp1tdsql [demo]> alter table t using partition policy pp1;Query OK, 0 rows affected (0.64 sec)# 解绑表t的分区亲和性,完成后表t会被自动绑定到对应的隐式亲和性策略tdsql [demo]> alter table t drop partition policy;Query OK, 0 rows affected (0.66 sec)# 彻底解绑表t的分区亲和性策略,完成后表t不绑定任何分区亲和性策略MySQL [demo]> alter table t drop partition policy force;Query OK, 0 rows affected (0.61 sec)