사용자 테이블에 대한 일반 AFTER UPDATE 트리거를 사용하여 열이 변경되었는지 확인하고, 그렇다면 저장 프로 시저를 호출하십시오.MYSQL 트리거 재귀 방지
문제는 저장 프로 시저가 일부 계산을 수행하며 사용자의 필드를 업데이트한다는 것입니다.
저장 프로 시저가 트리거를 호출하는 사용자 테이블을 업데이트하면 저장 프로 시저를 다시 호출하는 재귀를 어떻게 피할 수 있습니까?
감사합니다.
사용자 테이블에 대한 일반 AFTER UPDATE 트리거를 사용하여 열이 변경되었는지 확인하고, 그렇다면 저장 프로 시저를 호출하십시오.MYSQL 트리거 재귀 방지
문제는 저장 프로 시저가 일부 계산을 수행하며 사용자의 필드를 업데이트한다는 것입니다.
저장 프로 시저가 트리거를 호출하는 사용자 테이블을 업데이트하면 저장 프로 시저를 다시 호출하는 재귀를 어떻게 피할 수 있습니까?
감사합니다.
MySQL은 당신이 (삭제하고이를 다시없이) 트리거를 해제하지 않습니다,하지만 당신은 몇 가지 옵션이 있습니다
# 3의 경우 세션 변수 (즉, @@ var 대신에 @ var)를 사용하는 것이 더 좋을 것입니다. (즉, 트리거와 proc에서 IF IFNULL (@unique_recurse_var, 0) = 0에서 잠재적 인 재귀 코드를 지켜라.) 그런 다음 @unique_recurse_var = 1; <보호 된 작업>; ELSE SET @unique_recurse_var = 0; END IF;'). 아마 unittests가 functality 결코 깰 수 있는지 확인 싶어요. – CSTobey
mysql이 허용하는 것은 다음과 같습니다 : -S – zerkms