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

Команды ALTER TABLE ... UPDATE

ALTER TABLE [db.]table [ON CLUSTER cluster] UPDATE column1 = expr1 [, ...] [IN PARTITION partition_id] WHERE filter_expr

Манипулирует данными, которые соответствуют указанному фильтрующему выражению. Реализовано как мутация.

Примечание

Префикс ALTER TABLE делает этот синтаксис отличающимся от большинства других систем, поддерживающих SQL. Он призван подчеркнуть, что, в отличие от похожих запросов в OLTP-базах данных, это ресурсоёмкая операция, не предназначенная для частого использования.

filter_expr должен иметь тип UInt8. Этот запрос обновляет значения указанных столбцов на значения соответствующих выражений в строках, для которых filter_expr принимает ненулевое значение. Значения приводятся к типу столбца с помощью оператора CAST. Обновление столбцов, используемых при вычислении первичного ключа или ключа партиции, не поддерживается.

Один запрос может содержать несколько команд, разделённых запятыми.

Синхронность обработки запроса определяется настройкой mutations_sync. По умолчанию запрос выполняется асинхронно.

См. также