如果那么其他 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"
我正在尝试在 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"