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