Mysql 是否可以在SELECT IF中运行INSERT
我正在尝试根据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
存储过程
只是一个简单的查询
这项工作:
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()
语句。