【发布时间】:2014-12-29 13:03:48
【问题描述】:
我一直在尝试使用 MySQL (v5.6.13) 中的 IF 语句,但没有成功。我最终将我的代码缩减为下面的简单示例,但仍然无法正常工作:
IF 10>1 THEN
SELECT 10;
END IF;
当我运行它时,它给了我以下错误:
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 10>1 THEN
SELECT 10' at line 1
我确实想知道这是否与我正在使用的 MySQL 客户端(Sequel Pro)有关,但我从命令行运行时得到完全相同的消息。
我是否犯了一些我看不到的可笑的简单错误?或者有人对可能导致错误的原因有任何建议吗?任何帮助将不胜感激!
【问题讨论】:
-
您只能在程序块中使用
if,例如存储过程、函数和触发器。在其他情况下无法识别。 -
但是,有一个内联 if 语句。很好的例子:timmurphy.org/2009/08/13/inline-if-and-case-statements-in-mysql
-
感谢@GordonLinoff - 非常有帮助!现在重新阅读文档,这一点在那里是可以理解的,但没有什么地方特别明确(嗯,IMO!)。
标签: mysql if-statement syntax