Skip to main content
Manipula los datos que coinciden con la expresión de filtrado especificada. Se implementa como una mutación.
El prefijo ALTER TABLE hace que esta sintaxis sea distinta de la de la mayoría de los demás sistemas que admiten SQL. Su objetivo es indicar que, a diferencia de consultas similares en bases de datos OLTP, esta es una operación costosa que no está pensada para usarse con frecuencia.
filter_expr debe ser de tipo UInt8. Esta consulta actualiza los valores de las columnas especificadas con los valores de las expresiones correspondientes en las filas para las que filter_expr toma un valor distinto de cero. Los valores se convierten al tipo de la columna mediante el operador CAST. No se admite actualizar columnas que se usan en el cálculo de la clave primaria o de la clave de partición. Una consulta puede contener varios comandos separados por comas. La cláusula IN PARTITION limita la mutación a las particiones indicadas. Sin ella, en tablas de la familia ReplicatedMergeTree, cuando está habilitada la configuración optimize_mutations_with_partition_pruning (de forma predeterminada), ClickHouse detecta automáticamente las condiciones de la clave de partición en filter_expr y solo modifica las particiones afectadas. En tablas MergeTree no replicadas, use una cláusula IN PARTITION explícita para limitar la mutación a particiones específicas. El carácter síncrono del procesamiento de la consulta se define mediante la configuración mutations_sync. De forma predeterminada, es asíncrona. Véase también

Columnas materializadas

Una columna MATERIALIZED cuya expresión hace referencia a una columna actualizada se recalcula mediante la mutación, por lo que su valor almacenado se mantiene coherente con los nuevos datos.

Columnas calculadas a partir de columnas EPHEMERAL

Una columna EPHEMERAL existe únicamente durante un INSERT y nunca se almacena, por lo que una columna MATERIALIZED calculada a partir de ella no puede volver a calcularse mediante una mutación. Esta columna conserva el valor calculado en el momento del INSERT, que deja de coincidir con su expresión:
m es 8, el valor calculado durante el INSERT, y no 2 + 7: el valor de e no está disponible fuera del INSERT que lo proporcionó. La mutación escribe una advertencia en el registro del servidor cuando omite una columna por este motivo. Para actualizar dicha columna, vuelva a insertar las filas afectadas mediante INSERT.

Contenido relacionado

Última modificación el 26 de septiembre de 2026