ホームページ >データベース >mysql チュートリアル >MySQL で食料品ショッピング システムの注文配送状況テーブルを設計するスキル
MySQL での食料品ショッピング システムの注文配送ステータス テーブルの設計スキルには、特定のコード例が必要です
食料品ショッピング システムでは、注文配送ステータスは非常に重要です情報。配達済み、未配達、配達中など、注文の現在のステータスが記録されます。注文配送状況テーブルを適切に設計することで、システムの効率と拡張性を向上させることができます。この記事では、MySQL で注文配送ステータス テーブルを設計するためのいくつかのテクニックを紹介し、具体的なコード例を示します。
注文配送ステータス テーブルを設計するときは、注文ステータスを保存するための適切なデータ型を選択する必要があります。一般的な方法は、列挙型を使用することです。たとえば、配信済み、未配信、配信中という 3 つのステータスを含む、delivery_status という名前の列挙型を定義できます。具体的なコードは次のとおりです。
CREATE TABLE 注文 (
id INT PRIMARY KEY AUTO_INCREMENT, delivery_status ENUM('已配送', '未配送', '正在配送')
);
列挙型を使用すると、事前定義されたステータス値のみを保存できるようになり、データが改善されます。誠実さ。 。
クエリを高速化するために、注文配送ステータス列にインデックスを追加できます。インデックスを追加すると、システムは特定の配送ステータスに一致する注文をより迅速に検索できるようになります。具体的なコードは次のとおりです。
CREATE INDEX idx_delivery_status ON 注文 (delivery_status);
注文の配送中にプロセスでは、注文ステータスを常に更新する必要があります。このプロセスを自動化するには、トリガーを使用できます。トリガーは、配送が完了するかキャンセルされると、注文の配送ステータスを自動的に変更します。具体的なコードは次のとおりです。
DELIMITER //
CREATE TRIGGER update_delivery_status
AFTER INSERT ONdelivery_log
FOR EACH ROW
BEGIN
IF NEW.status = '已配送' THEN UPDATE orders SET delivery_status = '已配送' WHERE id = NEW.order_id; ELSEIF NEW.status = '取消配送' THEN UPDATE orders SET delivery_status = '未配送' WHERE id = NEW.order_id; END IF;
END //
DELIMITER ;
上記のコードでは、配信ログを記録するために使用されるdelivery_logという名前のテーブルがあると想定しています。新しい配信ログが挿入されると、トリガーは配信ステータスに基づいて注文の配信ステータスを更新します。
特定の配送ステータスで注文をクエリするには、SELECT ステートメントと WHERE 句を組み合わせて使用し、注文をフィルタリングします。条件を満たすもの。たとえば、配送済みの注文をクエリするには、次のコードを使用できます。
SELECT * FROM 注文 WHEREdelivery_status = '配達済み';
適切なインデックスを追加すると、このクエリは結果をすばやく返すことができます。
概要
注文配送ステータス テーブルを設計するときは、注文ステータスを保存する適切なデータ型を選択し、クエリを高速化するためにインデックスを追加する必要があります。トリガーを使用して注文履行ステータスを自動的に更新することで、システムの効率を向上させることができます。最後に、SELECT ステートメントを使用して、特定の配送ステータスを持つ注文をクエリできます。
上記は、MySQL での食料品ショッピング システムの注文配送ステータス テーブルの設計スキルに関する具体的なコード例です。お役に立てれば!
以上がMySQL で食料品ショッピング システムの注文配送状況テーブルを設計するスキルの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。