2011-08-02 11 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