0
我在做触发器时遇到了一些问题
我正在为大学做一些练习,我更喜欢在真正的mysql数据库中测试自己。
这次演习是以下
表架构为:
触发器:足球队练习题
Result (<b>Day, Home-Team, Visiting-Team</b>, Goal-Home, Goal-Visiting)
Ranking (<b>Day, Team</b>, Points)
的行使要求来定义触发下一个规则
当我在表中插入结果一个元组,如果目标 - 主页>目标访问我必须在表格中写出两个元组排名:赢家团队之一,失败者之一。
我用一个例子来说明
A组和B组在D天有一个G_A和G_B的结果,所以我必须用这个规则编写2个元组排序
如果G_A> G_B我必须写(D (D,A,1)和(D,B,1)
如果G_A < G_B我必须写(D,A,3)和,0)和(d,B,3)
我已经测试了我的MySQL数据库的代码,但它不工作(我做了一些尝试)
DELIMITER //
CREATE TRIGGER insertRankValues
AFTER INSERT ON Result
FOR EACH ROW
BEGIN
IF NEW.Goal-Home > NEW.Goal-Visiting
INSERT INTO Ranking VALUES (NEW.Day, NEW.Home-Team, 3);
INSERT INTO Ranking VALUES (NEW.Day, NEW.Visiting-Team, 0);
END IF;
IF NEW.Goal-Home < NEW.Goal-Visiting
INSERT INTO Ranking VALUES (NEW.Day, NEW.Home-Team, 0);
INSERT INTO Ranking VALUES (NEW.Day, NEW.Visiting-Team, 3);
END IF;
IF NEW.Goal-Home = NEW.Goal-Visiting
INSERT INTO Ranking VALUES (NEW.Day, NEW.Home-Team, 1);
INSERT INTO Ranking VALUES (NEW.Day, NEW.Visiting-Team, 1);
END IF;
END; //
您有什么建议?为什么它不起作用?
预先感谢您的耐心!
或更好,但养成不使用使用字符如 - 或空格或db关键字的字段名称的习惯。 – HLGEM
同意但有时表格方案是遗留的。 :) –
这是真的,他应该知道这一点。但最好从良好的习惯开始。 – HLGEM