在MySQL中使用IF语句时出错

时间:2016-06-20 15:43:59

标签: mysql

我正在尝试创建一个mySQL脚本文件,因此我可以轻松地在不同的数据库中执行我的更改,但我遇到了IF语句的问题。 (我正在使用MySQL Workbench。)

Dim commentText As String
Dim param2 As String
Dim param3 As String

commentText = "Comment inserted successfully"
param2 = "This is parameter 2"
param3 = "This is parameter 3"
simpleButton = MenuItem.Controls.Add(msoControlButton, , , , True)
With simpleButton
    .Caption = "Show Message"
    .Visible = True
    .OnAction = "addComments()"
End With

Sub addComments()
    commentText = Application.CommandBars.ActionControl.Parameter
    ActiveWindow.View.Type = wdPageView
    Selection.Comments.Add Range:=Selection.Range
    If (Len(Selection) > 0) Then
        MsgBox ("inside comment")
        With Selection
            .TypeText (commentText)
        End With
    End If
    Msgbox "Param 2: " & param2
    Msgbox "Param 3: " & param3
End Sub

create table语句正确执行,但“IF Exists(select ...”语句出现以下错误:

语法错误:IF(if)在此位置不是有效输入

选择“是”命令实际上将被插入命令替换。我只是想测试IF命令是否有效。

我也尝试过放入IF EXISTS(在单独的查询中选择行,但结果相同。

我做错了什么?

2 个答案:

答案 0 :(得分:1)

我想要使用的SQL IF函数应该在一个你从未声明过的函数中使用。

如果您想要一个符合预期行为的独立查询,那么您可以尝试这样做:

SELECT CASE WHEN EXISTS (SELECT 1 FROM build WHERE Versao = '1.1')
            THEN "yes"
            ELSE "no"
       END
LIMIT 1

答案 1 :(得分:0)

SQL函数只能在语句内部或存储过程/例程中使用。

SELECT语句适合您:

SELECT IF(EXISTS(SELECT 1 FROM build WHERE Versao = '1.1'), 'yes', 'no') AS test;