TEST1, TEST2, TEST3 ... TEST15 필드에 'Pass', 'Fail'또는 'NA'를 삽입하는 PHP 앱이 있습니다.조건이있는 MySQL 업데이트 트리거
TEST1-TEST15 필드에 'Fail'이 포함되어 있으면 자동으로 'FAIL'로 업데이트해야하는 OVERALL이라는 필드가 있습니다.
업데이트 문과 CASE 또는 IF가 포함 된 트리거를 사용해야하지만 정확한 구문을 못 잡을 수는 없었습니다.
누구든지 MySQL 놈을 도울 수 있습니까? 나는 MySQL 서버 버전을 사용하고있다 : 5.1.63-0 + squeeze1 (데비안).
매우 도움이됩니다. 고맙습니다! 확인할 필요가있는 각 열에 대해 별도의 IF 문을 사용해야합니까, 아니면 더 좋은 방법이 있습니까? –
항상 같은 열이면 업데이트 한 다음 OR로 모든 열을 선택하면됩니다. 예를 들면 다음과 같습니다. IF NEW.yourColumn = 'FAIL'또는 NEW.otherColumn = 'FAIL'등. 제가 의미하는 바가 분명하기를 바랍니다. – mboldt
도와 주셔서 대단히 감사합니다. 나는 가까워지고있는 것 같아! mysql 프롬프트에 다음과 같이 입력했습니다 : 'delimiter | 각 ROW FOR 가 NEW.TEST1 = '실패'가 THEN 업데이트 TABLE_NAME 전반적인 설정하면 = 'FAIL을'시작 'TABLE_NAME ON INSERT 후에 트리거 setoverall을 작성; END IF; END; | delimiter; MySQL에서는 불평하지 않지만 TABLE_NAME에 새 데이터를 삽입하면 OVERALL 열이 업데이트되지 않습니다. 더 이상의 단서가 있습니까? –