2011-03-08 2 views
1
SELECT COUNT(*) INTO @count FROM `tableName` WHERE `id` = OLD.id; 

WHILE @count > -1 DO 
    SET @count = @count - 1; 
    /* loop logic in here */ 
END WHILE; 

이 SQL이 있지만 실행하면 MySQL이 말한 오류 ()가 발생합니다. BEGIN ... END; 블록에서 잠시 래핑을 시도했지만 전혀 영향을 미치지 않습니다.MySQL While 루프가 오류를 throw하는 중

MySQL의 훌륭하게 모호한 오류로 인해 내가 잘못한 것을 해결할 수 없습니다.

나는 그것이 매우 간단하다고 확신하지만, 늦었고 나에게 생명을 불어 넣을 수는 없다.

+0

int가 아닌'table' 유형이 @count입니까? 나는 당신이'select @ count = count (*) from tableName ... '을 사용하려고한다고 생각한다. – mellamokb

+0

이 코드를 어떻게 실행 하는가? 내가 본 것에서 그것은 방아쇠 몸체 안에 있어야합니다. – a1ex07

답변

5

이 코드는 mysql 클라이언트 명령 줄에서 실행할 수 없습니다. 저장 프로 시저/함수 또는 트리거 본문에 복합 문을 사용할 수 있습니다.