我有两个表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 - 'where子句'中的未知列'NEW.model_stock.model_detail_id'
答案 0 :(得分:1)
您不得在NEW
关键字后添加表名:
...
WHERE model_detail.id = NEW.model_detail_id;
...