DBAtlas · Atlas de operações de banco de dados

23514: check_violation

PostgreSQL

O que significa?

Uma constraint CHECK foi violada. A linha inserida ou atualizada não satisfaz uma condição lógica definida na tabela (por exemplo, price > 0).

Por que acontece?

Dados que violam uma regra de negócio (preço negativo, código de status inválido, violação de intervalo de datas); ausência de validação no lado da aplicação; uma constraint rígida demais para os dados; registros que quebram a regra durante uma carga em massa.

Como resolver

Use o nome da constraint na mensagem de erro para descobrir qual condição foi violada; veja a definição: \d table_name. Consulte as linhas que violam invertendo a condição. Corrija os dados ou, se a regra realmente mudou, atualize a constraint: ALTER TABLE my_table DROP CONSTRAINT name; ALTER TABLE my_table ADD CONSTRAINT name CHECK (new_condition);

Abrir no DBAtlas →

Mais entradas deste banco