Skip to content
ClickHouse Docs
ClickHouse DocsClickHouse Docs

ALTER TABLE ... CONSTRAINT

As restrições podem ser adicionadas, modificadas ou excluídas usando a sintaxe a seguir:

ALTER TABLE [db].name [ON CLUSTER cluster] ADD CONSTRAINT [IF NOT EXISTS] constraint_name {CHECK|ASSUME} expression;
ALTER TABLE [db].name [ON CLUSTER cluster] MODIFY CONSTRAINT [IF EXISTS] constraint_name {CHECK|ASSUME} expression;
ALTER TABLE [db].name [ON CLUSTER cluster] DROP CONSTRAINT [IF EXISTS] constraint_name;

Assim como na criação de tabelas, uma restrição pode ser declarada como CHECK (imposta em INSERT) ou como ASSUME (considerada confiável pelo otimizador sem ser verificada). Veja constraints para entender a diferença entre as duas.

MODIFY CONSTRAINT substitui a declaração de uma restrição existente, mantendo sua posição na definição da tabela. Ele também pode alterar o tipo da restrição (por exemplo, de CHECK para ASSUME). É equivalente a remover a restrição e adicioná-la novamente com a nova declaração. Se a restrição não existir, a consulta lançará um erro, a menos que IF EXISTS seja especificado.

Veja mais em constraints.

As consultas adicionam, alteram ou removem metadados sobre restrições da tabela, por isso são processadas imediatamente.

Todas as alterações em tabelas replicadas são propagadas para o ZooKeeper e também serão aplicadas em outras réplicas.

Parte de: ALTER

Relacionado: ALTER, CREATE TABLE

Navigation