添加新行时在Mysql错误中创建触发器

时间:2017-07-19 02:59:29

标签: mysql

我有两个表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'

1 个答案:

答案 0 :(得分:1)

您不得在NEW关键字后添加表名:

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