简体   繁体   English

在MySQL中使用SELECT和INSERT语句的条件

[英]Condition with SELECT and INSERT statement in MySQL

i would like to make SELECT statement when the condition is equals to 1, so that will execute INSERT statement, when not, so it will not doing anything. 我想在条件等于1时执行SELECT语句,以便在不执行时执行INSERT语句,因此不会执行任何操作。 What i think you can see below in my code. 我认为您可以在我的代码中看到以下内容。

SET @var = 1;

SELECT IF(@var = 1, 
    INSERT INTO tabulka VALUES('value1','name1'),
    0
)

Thanks 谢谢

You just need an IF statement, not a SELECT. 您只需要一个IF语句,而不是SELECT。

if
    @var = 1
then
    insert into tabulka values('value1', 'name1');
end if

got it! 得到它了!

http://sqlfiddle.com/#!2/66b33/1/0 http://sqlfiddle.com/#!2/66b33/1/0

create table test (
    int_field int, 
    str_field varchar(10) 
  );


set @var := 1;

insert into test 
   select  int_field, str_field 
   from    (select @var as int_field,
                   concat('var=',@var) as str_field 
           ) as temp
   where   @var=3;


set @var := 3;

insert into test 
   select  int_field, str_field 
   from    (select @var as int_field,
                   concat('var=',@var) as str_field 
           ) as temp
   where   @var=3; 


select * from test; 

results in: 结果是:

int_field      str_field
3              var=3

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM