我正在寻找在 IF THEN 语句中使用逻辑运算符的正确语法(如果这在 MySQL 存储过程中可行)。这是我想做的事情,但我不确定我应该输入“OR”还是“||”在 IF ... THEN 子句中:
DELIMITER $$
CREATE PROCEDURE `MyStoredProc` (_id INT)
BEGIN
DECLARE testVal1 INT DEFAULT 0;
DECLARE testVal2 INT DEFAULT 0;
SELECT value1, value2 INTO testVal1, testVal2
FROM ValueTable
WHERE id = _id;
IF testVal1 > 0 OR testVal2 > 0 THEN
UPDATE ValueTable
SET value1 = (value1+1)
WHERE id=_id;
END IF;
END$$
最佳答案
我刚刚尝试了您的程序以确保它有效,而且确实如此。此外,您应该考虑指定变量类型的长度,例如。 INT(10).
OR
和 ||
运算符都是正确的(如 Reference Manual 中所述)。
关于sql - MySQL 存储过程 : Boolean Logic in IF THEN,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2821586/