搜索

首页  >  问答  >  正文

在MySQL的IF语句中嵌入查询操作

是否有办法在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粉155832941P粉155832941306 天前501

全部回复(1)我来回复

  • P粉077701708

    P粉0777017082024-02-18 15:07:07

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

    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;

    回复
    0
  • 取消回复