具有内部联接和子查询的MySQL触发器

具有内部联接和子查询的MySQL触发器,mysql,sql,triggers,subquery,Mysql,Sql,Triggers,Subquery,我正在处理以下3个表格: 我试图创建一个触发器,该触发器执行以下操作:如果笔记本电脑的价格增加了任何数量,那么笔记本电脑制造商生产的每台电脑的价格将降低5% 我使用联接和子查询来选择正确的生成器。对我来说,它看起来没问题,但显然不是。当我创建查询时,输入OK,但当我更新并提高笔记本电脑的价格时,相关PC的价格不会下降5% 这是我最好的触发尝试: DELIMITER $$ CREATE TRIGGER price_update AFTER UPDATE ON laptop FOR EACH RO

我正在处理以下3个表格:

我试图创建一个触发器,该触发器执行以下操作:如果笔记本电脑的价格增加了任何数量,那么笔记本电脑制造商生产的每台电脑的价格将降低5%

我使用联接和子查询来选择正确的生成器。对我来说,它看起来没问题,但显然不是。当我创建查询时,输入OK,但当我更新并提高笔记本电脑的价格时,相关PC的价格不会下降5%

这是我最好的触发尝试:

DELIMITER $$
CREATE TRIGGER price_update AFTER UPDATE
ON laptop
FOR EACH ROW
BEGIN
    IF(NEW.price > OLD.price)
    THEN 
    UPDATE pc
    INNER JOIN product
    ON product.model = pc.model
    SET price = price - 5
    WHERE product.maker IN (SELECT maker
                            FROM product
                            WHERE model = NEW.model);
    END IF;
    END;
$$  
请原谅我对MySQL一无所知。非常感谢您的建议


编辑:觉得自己很愚蠢!它很好用。我在电脑桌上检查错误的型号

请尝试设置pc.price=pc.price-5谢谢你让我重新检查了一切。结果证明它工作正常。我在检查pcs表中的错误型号/让我补充一个答案,这将有助于其他人。