Maison  >  Questions et réponses  >  le corps du texte

Incorporation des opérations de requête dans les instructions MySQL IF

Existe-t-il un moyen d'exécuter une requête d'insertion dans une instruction IF, je sais que la syntaxe d'une instruction if est

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

Ma question est de savoir s'il est possible d'exécuter une instruction d'insertion basée sur une condition comme

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

insert1 sera un insert direct, similaire à

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

insert2 obtiendra la valeur précédente de l'identifiant dont le compte n'est pas 0, puis fera un peu de logique et enfin insérera la requête, qui ressemblera à

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

P粉155832941P粉155832941245 Il y a quelques jours405

répondre à tous(1)je répondrai

  • P粉077701708

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

    Je pense que vous avez besoin de quelque chose comme ceci :

    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

    Exemple 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;

    répondre
    0
  • Annulerrépondre