Skip to main content

ALTER TABLE … UPDATE

ALTER TABLE [db.]table UPDATE column1 = expr1 [, ...] WHERE filter_expr

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

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

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

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

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

Смотрите также