Я пытаюсь внедрить простую систему продуктов в 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 какой-либо механизм, который может напрямую привязать одно поле в родительской таблице к числу дети без использования триггера?
Большое спасибо.