在庫の出入りを管理するために、MySQL で倉庫管理システムのテーブル構造を設計するにはどうすればよいですか?
電子商取引の急速な発展に伴い、倉庫管理システムは多くの企業にとって不可欠な要素となっています。倉庫管理システムでは、在庫の入庫と出庫は 2 つの非常に重要なリンクです。したがって、在庫の出入りを管理するために適切なテーブル構造を設計することが重要です。この記事では、在庫の出入りを管理するために MySQL で倉庫管理システムのテーブル構造を設計する方法を詳しく紹介し、対応するコード例を示します。
以下は、対応する MySQL コードの例です:
CREATE TABLE goods ( id INT(11) NOT NULL AUTO_INCREMENT, name VARCHAR(100) NOT NULL, price DECIMAL(10, 2) NOT NULL, PRIMARY KEY (id) ); CREATE TABLE inbound ( id INT(11) NOT NULL AUTO_INCREMENT, goods_id INT(11) NOT NULL, quantity INT(11) NOT NULL, inbound_time DATETIME NOT NULL, PRIMARY KEY (id), FOREIGN KEY (goods_id) REFERENCES goods(id) ); CREATE TABLE outbound ( id INT(11) NOT NULL AUTO_INCREMENT, goods_id INT(11) NOT NULL, quantity INT(11) NOT NULL, outbound_time DATETIME NOT NULL, PRIMARY KEY (id), FOREIGN KEY (goods_id) REFERENCES goods(id) );
在庫のクエリ
在庫管理を実現するには、在庫を頻繁にクエリする必要があります。量。これを行うには、次の SQL クエリ ステートメントを使用します。
SELECT g.name, SUM(i.quantity) - SUM(o.quantity) AS stock FROM goods g LEFT JOIN inbound i ON g.id = i.goods_id LEFT JOIN outbound o ON g.id = o.goods_id GROUP BY g.id;
この SQL ステートメントは、各製品の名前と対応する在庫数量を返します。
倉庫操作
商品を倉庫に入れるときは、倉庫テーブルにレコードを挿入する必要があります。以下は、倉庫レコードを挿入するための SQL ステートメントの例です。
INSERT INTO inbound (goods_id, quantity, inbound_time) VALUES (1, 10, NOW());
上記の SQL ステートメントは、商品番号 1 の商品 10 個を倉庫に置き、現在時刻を倉庫時刻として記録します。
出荷操作
商品が倉庫から出荷されるとき、出荷テーブルにレコードを挿入し、同時に在庫数量を更新する必要があります。以下は、出荷レコードを挿入し、在庫数量を更新するための SQL ステートメントの例です。
INSERT INTO outbound (goods_id, quantity, outbound_time) VALUES (1, 5, NOW()); UPDATE goods SET quantity = quantity - 5 WHERE id = 1;
上記の SQL ステートメントは、商品番号 1 の商品 5 個を出荷し、現在の時刻を出荷時刻として記録します。同時に在庫数量もそれに伴い5個減ります。
以上が在庫の出入りを管理するために、MySQL で倉庫管理システムのテーブル構造を設計するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。