2011-08-02 4 views
1

변수에 특정 값이 있으면 테이블에 행을 삽입하고 싶습니다. 나는 다음을 시도했다 :MySQL의 IF 문

select foo from bar into @tempvar; 

if @tempvar = '1' 
begin 
    insert into t1 (f1, f2) values (v1,v2); 
end 
end if; 

아아,이 작동하지 않는다. 어떤 생각을 어떻게 할 것인가?

+1

'foo'가 숫자 인 경우 문자열과 비교하지 마십시오 ('= 1' == '1''이 아님). –

답변

1
INSERT INTO t1 
    (f1, f2) 
SELECT 
    v1, 
    v2 
FROM 
    bar 
WHERE 
    foo = 1 

v1v2가 리터럴 값 (숫자, 문자열 등) 일 수있다, 그들은 bar에서 열 수 없습니다. 부분으로 돌아 오는 SELECT만큼 많은 INSERT을 받게됩니다.

+0

감사! 그게 효과가! – Pepper