我有一个PHP应用程序,通过TEST15向字段TEST1,TEST2,TEST3中插入'Pass','Fail'或'NA'。带条件的MySQL更新触发器
我有一个名为OVERALL的字段,如果任何TEST1-TEST15字段包含'Fail',则需要使用'FAIL'自动更新。
我很确定我需要使用包含update语句和CASE或IF的触发器,但是我一直无法确定确切的语法。
任何人都可以请帮忙一个MySQL的noob?我正在使用MySQL服务器版本:5.1.63-0 + squeeze1(Debian)。
这是非常有帮助的。谢谢! 我需要为每个需要检查的列使用单独的IF语句,还是有更好的方法来做到这一点? –
如果它总是相同的列,你会更新,那么你可以简单地用OR来检查所有的列。例如:如果NEW.yourColumn ='FAIL'或NEW.otherColumn ='FAIL'等。我希望这很清楚我的意思。 – mboldt
非常感谢你帮助我。我想我正在接近! 我在mysql提示符下输入: 'delimiter | CREATE TRIGGER setoverall INSERT ON TABLE_NAME AFTER FOR EACH ROW BEGIN IF NEW.TEST1 = '失败' THEN UPDATE TABLE_NAME设置OVERALL = 'FAIL'; END IF; END; | 分隔符;' MySQL不会抱怨,但如果我向TABLE_NAME中插入新数据,OVERALL列不会被更新。 还有什么线索? –