ドロップ配置ポリシー

DROP PLACEMENT POLICYは、以前に作成された配置ポリシーを削除するために使用されます。

あらすじ

DropPolicyStmt
DROPPLACEMENTPOLICYIfExistsPolicyName
PolicyName
Identifier

配置ポリシーは、テーブルまたはパーティションによって参照されていない場合にのみ削除できます。

CREATE PLACEMENT POLICY p1 FOLLOWERS=4; CREATE TABLE t1 (a INT PRIMARY KEY) PLACEMENT POLICY=p1; DROP PLACEMENT POLICY p1; -- This statement fails because the placement policy p1 is referenced. -- Finds which tables and partitions reference the placement policy. SELECT table_schema, table_name FROM information_schema.tables WHERE tidb_placement_policy_name='p1'; SELECT table_schema, table_name FROM information_schema.partitions WHERE tidb_placement_policy_name='p1'; ALTER TABLE t1 PLACEMENT POLICY=default; -- Removes the placement policy from t1. DROP PLACEMENT POLICY p1; -- Succeeds.
Query OK, 0 rows affected (0.10 sec) Query OK, 0 rows affected (0.11 sec) ERROR 8241 (HY000): Placement policy 'p1' is still in use +--------------+------------+ | table_schema | table_name | +--------------+------------+ | test | t1 | +--------------+------------+ 1 row in set (0.00 sec) Empty set (0.01 sec) Query OK, 0 rows affected (0.08 sec) Query OK, 0 rows affected (0.21 sec)

MySQL の互換性

このステートメントは、MySQL 構文に対する TiDB 拡張です。

こちらもご覧ください