我有一個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列不會被更新。 還有什麼線索? –