# DB02003: Violação de Restrição

## O Que Isso Significa[​](#what-this-means "Link direto para O Que Isso Significa")

Os dados que você está tentando salvar violam as regras do banco de dados. As restrições garantem a integridade dos dados, impondo regras sobre quais dados podem ser armazenados.

## Causas Comuns[​](#common-causes "Link direto para Causas Comuns")

* **Dados obrigatórios ausentes** — Um campo obrigatório está vazio
* **Relação inválida** — Referenciando um registro que não existe
* **Incompatibilidade de tipo de dado** — Tipo de dado incorreto para o campo
* **Valor fora do intervalo** — Número excede os limites permitidos

## Como corrigir[​](#how-to-fix "Link direto para Como corrigir")

### 1. Verifique Campos Obrigatórios[​](#1-check-required-fields "Link direto para 1. Verifique Campos Obrigatórios")

Garanta que todos os dados obrigatórios sejam fornecidos:

* Informações do cliente (se necessário)
* Detalhes do produto
* Itens da linha do pedido

### 2. Verifique Referências[​](#2-verify-references "Link direto para 2. Verifique Referências")

Se o erro envolver relacionamentos:

* Certifique-se de que os produtos referenciados existam
* Verifique se os IDs dos clientes são válidos
* Verifique as atribuições de categoria

### 3. Revise os Valores dos Dados[​](#3-review-data-values "Link direto para 3. Revise os Valores dos Dados")

Verifique se há valores inválidos:

* Quantidades negativas onde não são permitidas
* Preços excedendo limites
* Valores de status inválidos

### 4. Sincronize os Últimos Dados[​](#4-sync-latest-data "Link direto para 4. Sincronize os Últimos Dados")

Os dados referenciados podem estar fora de sincronia:

* Atualize os dados do servidor
* Espere a sincronização ser concluída
* Tente a operação novamente

### 5. Limpe e Tente Novamente[​](#5-clear-and-retry "Link direto para 5. Limpe e Tente Novamente")

Se os dados estiverem corrompidos:

1. Limpe o formulário problemático
2. Reinsira os dados
3. Envie novamente

## Exemplos Comuns de Restrições[​](#common-constraint-examples "Link direto para Exemplos Comuns de Restrições")

* **Quantidade deve ser positiva** — Não é permitido adicionar itens 0 ou negativos
* **Preço deve ser numérico** — Texto não é permitido nos campos de preço
* **Cliente deve existir** — Não é possível atribuir o pedido a um cliente que não existe

## Erros Relacionados[​](#related-errors "Link direto para Erros Relacionados")

* [DB02001](/pt-BR/error-codes/DB02001.md) — Registro Duplicado
* [DB03003](/pt-BR/error-codes/DB03003.md) — Campo Obrigatório Ausente
