Skip to main content
Manipula os dados que correspondem à expressão de filtro especificada. É implementado como uma mutação.
O prefixo ALTER TABLE faz com que essa sintaxe seja diferente da maioria dos outros sistemas compatíveis com SQL. Ele serve para indicar que, ao contrário de consultas semelhantes em bancos de dados OLTP, esta é uma operação pesada, não projetada para uso frequente.
A filter_expr deve ser do tipo UInt8. Esta consulta atualiza os valores das colunas especificadas para os valores das expressões correspondentes nas linhas em que a filter_expr assume um valor diferente de zero. Os valores são convertidos para o tipo da coluna usando o operador CAST. Não há suporte para atualizar colunas usadas no cálculo da chave primária ou da chave de partição. Uma única consulta pode conter vários comandos separados por vírgulas. A sincronia do processamento da consulta é definida pela configuração mutations_sync. Por padrão, ela é assíncrona. Veja também

Colunas materializadas

Uma coluna MATERIALIZED cuja expressão lê uma coluna atualizada é recalculada pela mutação, garantindo que seu valor armazenado permaneça consistente com os novos dados.

Colunas calculadas a partir de colunas EPHEMERAL

Uma coluna EPHEMERAL existe apenas durante um INSERT e nunca é armazenada. Portanto, uma coluna MATERIALIZED calculada a partir dela não pode ser recalculada por uma mutação. Essa coluna mantém o valor calculado no momento do INSERT, que posteriormente deixa de corresponder à sua expressão:
m é 8, o valor calculado durante o INSERT, e não 2 + 7: o valor de e não está disponível fora do INSERT que o forneceu. A mutação registra um aviso no log do servidor ao ignorar uma coluna por esse motivo. Para atualizar essa coluna, execute novamente o INSERT nas linhas afetadas.
Última modificação em 18 de agosto de 2026