ClickHouse/docs/ru/sql-reference/statements/alter/update.md
2022-08-26 13:37:11 -04:00

2.4 KiB
Raw Blame History

slug sidebar_position sidebar_label
/ru/sql-reference/statements/alter/update 40 UPDATE

ALTER TABLE … UPDATE

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

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

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

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

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

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

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