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