Maison > Questions et réponses > le corps du texte
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粉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;