# DB02003: 约束违例

## 这意味着什么[​](#what-this-means "直接链接到 这意味着什么")

您正在尝试保存的数据违反了数据库规则。约束通过对可存储数据的规则进行强制，确保数据的完整性。

## 常见原因[​](#common-causes "直接链接到 常见原因")

* **缺少必填数据** — 必须填写的字段为空
* **无效关系** — 引用不存在的记录
* **数据类型不匹配** — 字段的数据类型错误
* **值超出范围** — 数字超过允许的限制

## 如何修复[​](#how-to-fix "直接链接到 如何修复")

### 1. 检查必填字段[​](#1-check-required-fields "直接链接到 1. 检查必填字段")

确保提供所有必填数据：

* 客户信息（如果需要）
* 产品详细信息
* 订单行项目

### 2. 验证引用[​](#2-verify-references "直接链接到 2. 验证引用")

如果错误涉及关系：

* 确保引用的产品存在
* 检查客户 ID 是否有效
* 核实分类分配

### 3. 审查数据值[​](#3-review-data-values "直接链接到 3. 审查数据值")

检查无效值：

* 不允许的负数量
* 超过限制的价格
* 无效的状态值

### 4. 同步最新数据[​](#4-sync-latest-data "直接链接到 4. 同步最新数据")

引用的数据可能未同步：

* 从服务器刷新数据
* 等待同步完成
* 重试操作

### 5. 清除并重试[​](#5-clear-and-retry "直接链接到 5. 清除并重试")

如果数据损坏：

1. 清除问题表单
2. 重新输入数据
3. 再次提交

## 常见约束示例[​](#common-constraint-examples "直接链接到 常见约束示例")

* **数量必须为正** — 不能添加 0 或负数项
* **价格必须为数字** — 价格字段不允许输入文字
* **客户必须存在** — 不能将订单分配给不存在的客户

## 相关错误[​](#related-errors "直接链接到 相关错误")

* [DB02001](/zh-CN/error-codes/DB02001.md) — 重复记录
* [DB03003](/zh-CN/error-codes/DB03003.md) — 缺少必填字段

***
