# 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](/ja/error-codes/DB02001.md) — 重複レコード
* [DB03003](/ja/error-codes/DB03003.md) — 必須フィールドの欠落
