Перейти к основному содержимому
Перейти к основному содержимому

Операторы TRUNCATE

TRUNCATE TABLE

TRUNCATE TABLE [IF EXISTS] [db.]name [ON CLUSTER cluster]

Удаляет все данные из таблицы. Когда условие IF EXISTS опущено, запрос возвращает ошибку, если таблица не существует.

Запрос TRUNCATE не поддерживается для движков таблиц View, File, URL, Buffer и Null.

Вы можете использовать настройку alter_sync, чтобы настроить ожидание выполнения действий на репликах.

Вы можете указать, сколько времени (в секундах) ждать, пока неактивные реплики выполнят запросы TRUNCATE, с помощью настройки replication_wait_for_inactive_replica_timeout.

примечание

Если alter_sync установлен на 2 и некоторые реплики неактивны более времени, указанного в настройке replication_wait_for_inactive_replica_timeout, то выбрасывается исключение UNFINISHED.

TRUNCATE ALL TABLES

TRUNCATE [ALL] TABLES FROM [IF EXISTS] db [LIKE | ILIKE | NOT LIKE '<pattern>'] [ON CLUSTER cluster]

Удаляет все данные из всех таблиц в базе данных.

TRUNCATE DATABASE

TRUNCATE DATABASE [IF EXISTS] db [ON CLUSTER cluster]

Удаляет все таблицы из базы данных, но сохраняет саму базу данных. Когда условие IF EXISTS опущено, запрос возвращает ошибку, если база данных не существует.

примечание

TRUNCATE DATABASE не поддерживается для Replicated баз данных. Вместо этого просто DROP и CREATE базу данных.