如果那么其他 MariaDb

IF THEN ELSE MariaDb

我正在尝试在 MariaDb 上编写一个简单的 'IF' 语句,但我无意中发现了基础知识。

这是我的代码:

SELECT @variable := `value` FROM configuration WHERE key = 'key' 

这似乎可行,但是以这种方式声明的变量可以在 if 中使用吗?

IF @variable = "foo" THEN
    UPDATE ...
    UPDATE ...
    DELETE ...
ELSE
    UPDATE ...
END IF;

我被迫只将这段代码放在一个过程中?我阅读的大部分代码都将所有这些都放在一个过程中,但在官方文档中 here 没有任何相关内容。

当我尝试在 phpMyAdmin 中 运行 这个脚本时,我得到:

You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near 'IF @variable = "foo" THEN
    UPDATE tags SET .... 

if statement can be used outside of stored procedures.

PHPMyAdmin 显然有一个 delimiter as part of its UI

备选方案是:

   UPDATE  ... WHERE @variable = "foo" 
   UPDATE  ... WHERE @variable = "foo" 
   DELETE  ... WHERE @variable = "foo" 
   UPDATE  ... WHERE @variable != "foo"