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

Оператор ALTER TABLE ... UPDATE

ALTER TABLE [db.]table [ON CLUSTER cluster] ОБНОВИТЬ column1 = expr1 [, ...] [IN PARTITION partition_id] WHERE filter_expr

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

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

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

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

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

См. также