mysql - IF ELSE 不适用于 SQL/MySQL

标签 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] You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF @total == 7 THEN' at line 2

最佳答案

Mysql IF ... ELSE 只支持存储过程触发器

您可以尝试在 where caluse 中移动逻辑 @total = 7

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;

关于mysql - IF ELSE 不适用于 SQL/MySQL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52034870/

相关文章:

mysql - 使用多个 "WHERE IN"和 "OR"搜索 MySql 数据库不起作用

java - SQLServerException 结果集已关闭

mysql - 尽管使用了 "SELECT",但 "ORDER BY"请求还是困惑的

mysql - N :N relationship without permission to create auxiliary table的解决方案

sql - 根据列 id(顺序)将所选数据合并到同一行

php - 如何处理 pcntl_fork() : Error 35?

PHP 与 MySQL WHERE 值范围

mysql - Perl网络服务: Using XML RPC

mysql - 如何使用具有特定值的列数对表重新排序

sql - 我如何强制执行此约束?