似乎无法让这个触发器工作......一些帮助将不胜感激。
DROP TRIGGER IF EXISTS trigger_votes;
CREATE TRIGGER trigger_votes AFTER INSERT ON votes
UPDATE collections
SET IF(vote = 1, loves, hates) = IF(vote = 1, loves, hates) + 1
WHERE collections.id = NEW.collection_id;
当表格投票中记录了新的“投票”时,我想在包含计数的表集合中增加“loves”或“hates”列。 votes表有一个名为collection_id的列,它对应于collections表中的记录。
答案 0 :(得分:4)
DELIMITER $$
CREATE TRIGGER trigger_votes AFTER INSERT ON votes FOR EACH ROW
BEGIN
UPDATE collections
SET loves = CASE NEW.vote WHEN 1 THEN loves + 1 ELSE loves END
,hates = CASE NEW.vote WHEN 1 THEN hates ELSE hates + 1 END
WHERE collections.id = NEW.collection_id;
END $$
DELIMITER ;