mySQL 5.7 - 库存控制

时间:2015-12-06 17:03:22

标签: mysql

试图找出控制库存的方法。我的意思是我为租赁商店创建了非常简单的数据库,并有付款表和游戏表如下:

CREATE TABLE game_tbl (
game_id INT (100) PRIMARY KEY AUTO_INCREMENT,
game_name VARCHAR (30) NOT NULL,
game_publisher VARCHAR (30) NOT NULL,
game_console VARCHAR (30) NOT NULL,
game_qty INT (10) NOT NULL,
game_avail INT (10)AS (game_qty- game_rented),
game_rented INT (10),
game_year SMALLINT );

和付款表

CREATE TABLE payment_tbl(
payment_id INT (10) PRIMARY KEY AUTO_INCREMENT,
payment_amount decimal (5,2) not null,
payment_date DATE not null,
normal decimal (5,2) not null,
penalty decimal (5,2) not null,
refund decimal (5,2) not null,
outstanding decimal (5,2) );

两者都没有连接,但我真的想添加一些控件。所以,如果游戏是在payment_tbl中支付的,则game_tbl中的game_avail会变为-1?

1 个答案:

答案 0 :(得分:1)

我猜你还需要两张桌子...... 一个用于存储用户信息 用户

CREATE TABLE `user` (`id` int(11) unsigned NOT NULL AUTO_INCREMENT,`user_name` varchar(255) NOT NULL ,`created_at` datetime DEFAULT NULL,PRIMARY KEY (`id`)) ENGINE=InnoDB  DEFAULT CHARSET=utf8;

第二张表 purchase_detail ,用于映射用户,游戏和付款信息。

CREATE TABLE `purchase_detail` ( `id` int(11) unsigned NOT NULL AUTO_INCREMENT,`user_id` int(11) NOT NULL ,`payment_id` int(10) NOT NULL ,`game_id` int(100) NOT NULL , PRIMARY KEY (`id`)) ENGINE=InnoDB  DEFAULT CHARSET=utf8;

现在使用表purchase_detail

映射所有三个表