2012-05-25 4 views
1

연구용 참가자 연락처 정보 (homePhone, altPhone 및 email)가있는 데이터베이스가 있습니다.특정 열이 비어있는 경우 행을 자동으로 삭제 하시겠습니까?

로그 테이블을 유지하여 데이터베이스의 참가자를 확인합니다. 참가자가 대량으로 다시 체크인 할 때마다 필자는 필자가 작성한 Java 응용 프로그램을 통해이 프로그램을 실행하며 필요한 경우 연락처 정보를 업데이트/제거 할 수도 있습니다.

참가자가 3 개의 연락처 정보 중 0 개가 있으면 데이터베이스에 유지하는 것은 쓸모가 없습니다. Java 프로그램에서 수표를 구현하는 대신 데이터베이스에서 (MySQL에서 실행) 자동으로이를 수행 할 수있는 방법이 있습니까? UPDATE에서 3 열을 검사하는 트리거를 만들려고했지만 트리거가 연결된 테이블을 변경할 수 없다고 온라인에서 읽었습니까?

는 난 그냥 실행할 수 있다는 것을 알고

DELETE FROM participants WHERE homePhone=0 AND altPhone=0 AND email='' 

하지만 데이터베이스가 자동으로 수행하고자합니다. 나는 데이터베이스 전문가가 너무 많지 않으므로 누구나 통찰력이 있다면 위대 할 것입니다. 최악의 경우는 Java 프로그램이 끝날 때 위의 SQL 행을 구현하는 것입니다.

+0

최악의 경우가 그렇습니다 자바에서 그 라인을 넣어하는 것입니다, 최상의 시나리오는 조건 검사하여 Java 응용 프로그램을 업데이트하는 것입니다! – YesMan85

+0

왜 방금 새 트리거를 만들지 않습니까? – mattytommo

+0

방아쇠를 쓰려고했지만 방아쇠가 속한 테이블을 변경할 수 없습니다. – LeoPardus

답변

1

각 INSERT INTO 또는 UPDATE 문에서 호출되는 trigger에 쿼리를 넣을 수 있습니다.

관련 문제