在MYSQL的父表中存储子代数的最佳方法

问题描述 投票:0回答:1

我正在尝试在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中是否有任何机制可以不使用触发器直接将父表中的一个字段绑定到子代数?

非常感谢。

我正在尝试在MYSQL中实现一个简单的产品系统,其中的产品可以有很多注释。注释表中有一个引用产品表的外键product_id。我想存储...

mysql sql triggers rdbms
1个回答
0
投票

我通常建议不要存储这样的派生信息

© www.soinside.com 2019 - 2024. All rights reserved.