Mysql 是否可以在SELECT IF中运行INSERT

Mysql 是否可以在SELECT IF中运行INSERT,mysql,mariadb,Mysql,Mariadb,我正在尝试根据IF查询的结果运行INSERT查询。我尝试了各种语法。我不想使用存储过程只是一个简单的查询 这项工作: select IF ( select sum(price) from my_table ) > 1000, 'high price', 'low price' ); 这甚至适用于SELECT查询 select IF ( select sum(price) from my_table ) > 1000, ( select something

我正在尝试根据IF查询的结果运行INSERT查询。我尝试了各种语法。我不想使用
存储过程
只是一个简单的查询

这项工作:

select IF ( select sum(price) from my_table ) > 1000, 
    'high price',
    'low price'
);
这甚至适用于SELECT查询

select IF ( select sum(price) from my_table ) > 1000, 
    ( select something  ), 
    ( select something else )
);
但当我试图用INSERT替换一个SELECT时,我得到了一个语法错误

select IF ( select sum(price) from my_table ) > 1000, 
    ( select something  ), 
    ( insert something )
);
我测试了
insert something
作为一个独立查询,它运行良好。
但是有可能在IF表达式中使用它吗

不,这是不可能的,除非您在一个过程块中(使用
存储过程),然后您可以这样做

IF(( select sum(price) from my_table ) > 1000)
BEGIN 
    ( select something  );
    ( insert something );
END

不,这是不可能的,除非您在一个过程块中(使用
存储过程
),然后您可以这样做

IF(( select sum(price) from my_table ) > 1000)
BEGIN 
    ( select something  );
    ( insert something );
END

不,这是不可能的。您使用的是
IF()
表达式,而不是
IF()
语句。不,这是不可能的。您使用的是
IF()
表达式,而不是
IF()
语句。