2017-07-19 18 views
0

我有两个表model_detail与列创建触发器,同时增加新的行

`id``model_id``productName``Color``Available_Quantity` 

与列model_stock

`id``model_detail_id``entry_date``amount` 

model_detail_id是外键指向model_detail(id)表格我想更新model_detail表的Available_Quantity,无论何时新 model_stock加入,我已经试过这样的事情

CREATE TRIGGER Update_model_stock AFTER INSERT ON model_stock 
FOR EACH ROW 
BEGIN 
UPDATE model_detail 
SET Available_Quantity= Available_Quantity + NEW.amount 
WHERE model_detail.id = NEW.model_stock.model_detail_id; 
END 

,但是当我添加一行到model_stock表我的错误是这样的

SQL query: 
INSERT INTO `model_stock` (`id`, `model_detail_id`, `entry_date`, `amount`) 
VALUES (NULL, '2', '2017-07-11', '20') 

我收到错误消息:

MySQL说:文档 #1054 - 未知列'NEW.model_stock.mo “在 'del_detail_id where子句'

回答

1

你不能在NEW keword后添加的表名:

... 
WHERE model_detail.id = NEW.model_detail_id; 
...