Если ELSE не работает на SQL / MySQL - PullRequest
0 голосов
/ 27 августа 2018

Скрипт для проверки нескольких условий на 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, на предмет правильного синтаксиса для использования рядом с 'IF @total == 7 THEN' в строке 2

Ответы [ 2 ]

0 голосов
/ 27 августа 2018

Mysql IF ... ELSE поддержка только для stored procedure или trigger

Вы можете попытаться переместить логику @total = 7 в where caluse.

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;
0 голосов
/ 27 августа 2018

вы должны изменить оператор равенства на =, это будет выглядеть так:

IF @total = 7 THEN ..

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...