在MySQL的IF语句中嵌入查询操作
P粉155832941
P粉155832941 2024-02-17 16:44:15
0
1
509

是否有办法在IF语句中运行插入查询,我知道if语句的语法是

IF(条件, 如果条件为真执行的语句, 如果条件为假执行的语句)

我的问题是是否可以根据条件运行插入语句,比如

IF((从表中选择计数(*),其中 id = x) = 0, insert1, insert2)

insert1将是一个直接插入,类似于

插入表(col1,col2..)值(val1,val2..)

insert2将获取计数不为0的id的先前值,然后进行一些逻辑操作,最后插入查询,看起来像

insert into table (col1, col2, col3..) select val1,val1+val2,someOperation from table where id = x;

P粉155832941
P粉155832941

全部回复(1)
P粉077701708

我认为你需要像这样的东西:

IF( select count(*) from Table1 ) is null
begin

    IF( select count(*) from Table1 ) is null
    begin
    --执行条件为真时的操作
    --插入条件
    end

    IF( select count(*) from Table1 ) is not null
    begin
    --执行条件为假时的操作
    --插入条件
    end

end

MYSQL示例:

IF ((select count(*) from table where id = x)) = 0
        THEN 
         --插入到表中 (col1,col2..) values (val1, val2..)
        ELSE
             IF ((select count(*) from table where id = x)) != 0
             THEN 
             --插入到表中 (col1, col2, col3..) select val1,val1+val2,someOperation from table where id = x;
      END IF;
     END IF;
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板