是否可以在MariaDB中的SELECT IF中运行INSERT

时间:2017-05-23 11:31:54

标签: mysql mariadb

我试图根据IF查询的结果运行INSERT查询。我尝试了各种语法。我不想使用stored procedure只是一个简单的查询。

这有效:

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表达式中使用它吗?

1 个答案:

答案 0 :(得分:0)

不可以,除非你在程序块中(使用stored procedure)然后你就可以这样做

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