2011-09-23 68 views
0

我有三個表格,所以我可以顯示單獨的表格並跟蹤不同的事物。如何更新mySQL中其他兩個表的數量列?

如何使紙箱_CURRENT「在CARTONS_PULLED pull_qty」和‘’在CARTONS_ADDED更新‘數量add_qty’?

當我創建它插入到CARTONS_CURRENT量新型號。

現在我需要更新CART​​ONS_CURRENT中的'qty',並從其他兩個表中添加和拉取? 'part_no'是主鍵,並且始終是更新的參考。

這裏是我的表:

DATABASE NAME: _hero  

TABLE NAME:  CARTONS_CURRENT 
+--------------+--------------+--------+--------+-------------------+------------+ 
| Column     |  Type        |  Null  |  Key   |  Default          |  Extra     | 
+--------------+--------------+--------+--------+-------------------+------------+ 
| orig_time  | timestamp    |  No    |        | CURRENT_TIMESTAMP |            | 
| type    | text     |  No    |        |     |            | 
| part_no     | varchar(20)  |  No    |  Prim  |                   |            | 
| description | varchar(75)  |  No    |     |                   |            | 
| count  | varchar(2)   |  No    |     |                   |            | 
| size   | varchar(30)  |  No    |     |                   |            | 
| min   | int(7)    |  No    |     |                   |            | 
| max   | int(7)    |  No    |     |                   |            | 
| qty         | int(8)       |  No    |        |                   |            | 
+--------------+--------------+--------+--------+-------------------+------------+ 

TABLE NAME:  CARTONS_ADDED 
+--------------+--------------+--------+--------+-------------------+------------+ 
| Column     |  Type        |  Null  |  Key   |  Default          |  Extra     | 
+--------------+--------------+--------+--------+-------------------+------------+ 
| add_time  | timestamp    |  No    |  Prim  | CURRENT_TIMESTAMP |            | 
| type      | text   |  No    |     |                   |            | 
| part_no     | varchar(20)  |  No    |  Prim  |                   |            | 
| add_type  | varchar(25)  |  No    |     |                   |            | 
| add_qty  | int(8)    |  No    |     |                   |            | 
| add_ref  | varchar(35)  |  No    |     |                   |            | 
| add_by  | text    |  No    |     |                   |            | 
| add_notes | varchar(300) |  No    |     |                   |            | 
+--------------+--------------+--------+--------+-------------------+------------+ 

TABLE NAME:  CARTONS_PULLED 
+--------------+--------------+--------+--------+-------------------+------------+ 
| Column     |  Type        |  Null  |  Key   |  Default          |  Extra     | 
+--------------+--------------+--------+--------+-------------------+------------+ 
| pull_time  | timestamp    |  No    |  Prim  | CURRENT_TIMESTAMP |            | 
| type      | text   |  No    |     |                   |            | 
| part_no     | varchar(20)  |  No    |  Prim  |                   |            | 
| pull_type | varchar(25)  |  No    |     |                   |            | 
| pull_qty  | int(8)    |  No    |     |                   |            | 
| pull_ref  | varchar(35)  |  No    |     |                   |            | 
| pull_by  | text    |  No    |     |                   |            | 
| pull_notes | varchar(300) |  No    |     |                   |            | 
+--------------+--------------+--------+--------+-------------------+------------+ 

回答

0

你會寫triggersCARTONS_PULLEDCARTONS_ADDED表裏面做在CARTONS_CURRENT表中的相應的更新。即像

CREATE TRIGGER Upd_Cartons_qty 
AFTER INSERT ON CARTONS_ADDED FOR EACH ROW 
BEGIN 
    UPDATE CARTONS_CURRENT SET qty = qty + NEW.add_qty WHERE part_no = NEW.part_no; 
END; 
如果要在新的記錄插入到 CARTONS_ADDEDadd_qty值添加到 CARTONS_CURRENT.qty

相關問題