メインコンテンツまでスキップ
メインコンテンツまでスキップ

テーブルの切り捨て

トランケートは、テーブルまたはデータベース内のデータを削除しつつ、その存在を保持することを可能にします。これは、逆に戻すことのできない軽量な操作です。

TRUNCATE ステートメント

TRUNCATE TABLE

テーブルからすべてのデータを削除します。IF EXISTS句を省略すると、テーブルが存在しない場合にクエリがエラーを返します。

TRUNCATEクエリは、ViewFileURLBuffer、および Null テーブルエンジンではサポートされていません。

alter_sync設定を使用して、レプリカでアクションが実行されるのを待機するように設定できます。

TRUNCATEクエリを実行するために待機する非アクティブなレプリカの最大待機時間(秒単位)を、replication_wait_for_inactive_replica_timeout設定で指定できます。

注記

alter_sync2に設定されていて、一部のレプリカがreplication_wait_for_inactive_replica_timeout設定で指定された時間以上非アクティブの場合、UNFINISHEDという例外がスローされます。

TRUNCATE ALL TABLES

データベース内のすべてのテーブルからすべてのデータを削除します。

TRUNCATE DATABASE

データベースからすべてのテーブルを削除しますが、データベース自体は保持します。IF EXISTS句を省略すると、データベースが存在しない場合にクエリがエラーを返します。

注記

TRUNCATE DATABASEReplicatedデータベースではサポートされていません。その代わり、データベースをDROPしてCREATEしてください。