如果ELSE不适用于SQL / MySQL

时间:2018-08-27 07:51:30

标签: mysql sql

我尝试了以下检查SQL多个条件的脚本。

BEGIN
IF  @total == 7 THEN
UPDATE some_table SET time = '09:55' where warehouse_id=@code;
UPDATE some_table SET enable = 0 where warehouse_id=@code;
SELECT * FROM some_table WHERE warehouse_id= @code;
END IF
END

@total的值是7,但是脚本无法执行并显示

  

[42000] [1064]您的SQL语法有错误;查看手册   对应于您的MySQL服务器版本的正确语法,   在第2行的'IF @total == 7 THEN'附近使用

3 个答案:

答案 0 :(得分:3)

Mysql IF ... ELSE仅支持stored proceduretrigger

您可以尝试将逻辑@total = 7移至where的位置。

UPDATE some_table SET time = '09:55' where warehouse_id=@code and @total = 7;
UPDATE some_table SET enable = 0 where warehouse_id=@code and @total = 7;
SELECT * FROM some_table WHERE warehouse_id= @code and @total = 7;

答案 1 :(得分:0)

尝试

IF  @total = 7 THEN

只需更改单个'='

答案 2 :(得分:0)

您应该将equal运算符更改为=,就像这样:

如果@total = 7,那么..