我正在使用以下3个表:
我正在尝试创建一个执行以下操作的触发器:如果笔记本电脑的价格增加了任何数量,那么该笔记本电脑制造商生产的每台PC的价格就会降低5倍。
我正在使用连接和子查询来选择正确的制造商。 看起来对我好,但显然不是。当我创建查询时,它输入正常但是当我更新并增加笔记本电脑的价格时,相关电脑的价格不会降低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表中的错误模型。