我正在尝试在 MYSQL 中实现一个简单的产品系统,其中一个产品可以有很多评论。引用产品表的注释表中有一个外键product_id。我想将产品的评论数量存储为产品表中的一个字段以进行排序。可以通过像这样在评论表上创建两个触发器来实现
DELIMITER $$
CREATE TRIGGER comment_incr_trig
AFTER INSERT ON `COMMENT` FOR EACH ROW
begin
UPDATE PRODUCT SET NUM_OF_COMMENT = NUM_OF_COMMENT + 1 WHERE ID = NEW.PRODUCT_ID;
END;
$$
DELIMITER ;
DELIMITER $$
CREATE TRIGGER comment_decr_trig
AFTER DELETE ON `COMMENT` FOR EACH ROW
begin
UPDATE PRODUCT SET NUM_OF_COMMENT = NUM_OF_COMMENT - 1 WHERE ID = OLD.PRODUCT_ID;
END;
$$
DELIMITER ;
但是,MYSQL中有没有什么机制可以直接将父表中的一个字段绑定到子表的个数而不使用触发器呢?
非常感谢。